diff options
author | Bertrand Jacquin <bertrand@jacquin.bzh> | 2015-08-15 22:58:04 +0100 |
---|---|---|
committer | Bertrand Jacquin <bertrand@jacquin.bzh> | 2015-08-18 21:48:42 +0100 |
commit | 8345f220ffa19b8930d749ff2dcbf8c697bd5e3f (patch) | |
tree | f4b171c17e88e260b8a45e74c467ed0fc0286fea | |
parent | sys-apps/busybox: Drop outdated ebuilds (diff) | |
download | portage-8345f220ffa19b8930d749ff2dcbf8c697bd5e3f.tar.xz |
factory-default/net-misc/openssh: Add ssh-agent init scripts
-rw-r--r-- | factory-default/net-misc/openssh/etc/conf.d/ssh-agent | 8 | ||||
-rwxr-xr-x | factory-default/net-misc/openssh/etc/init.d/ssh-agent | 47 |
2 files changed, 55 insertions, 0 deletions
diff --git a/factory-default/net-misc/openssh/etc/conf.d/ssh-agent b/factory-default/net-misc/openssh/etc/conf.d/ssh-agent new file mode 100644 index 00000000..ba965f1d --- /dev/null +++ b/factory-default/net-misc/openssh/etc/conf.d/ssh-agent @@ -0,0 +1,8 @@ +# Run ssh-agent as user +SSH_AGENT_USER=apache + +# Path to the ssh-agent socket +SSH_AGENT_SOCK=/run/ssh-agent.sock + +# Key to ssh-add +SSH_AGENT_KEY= diff --git a/factory-default/net-misc/openssh/etc/init.d/ssh-agent b/factory-default/net-misc/openssh/etc/init.d/ssh-agent new file mode 100755 index 00000000..d43f1b5d --- /dev/null +++ b/factory-default/net-misc/openssh/etc/init.d/ssh-agent @@ -0,0 +1,47 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +: ${envfile:=/run/${RC_SVCNAME}.env} +: ${pidfile:=/run/${RC_SVCNAME}.pid} + +: ${SSH_AGENT_USER:=nobody} +: ${SSH_AGENT_SOCK:=/run/${RC_SVCNAME}.sock} +: ${SSH_AGENT_KEY:=} + +checkconfig() { + checkpath --quiet --file \ + --owner root --mode 0600 \ + "${envfile}" +} + +start() { + checkconfig || return 1 + + ebegin "Starting ssh-agent (${SSH_AGENT_USER})" + start-stop-daemon --start \ + --user "${SSH_AGENT_USER}" \ + --pidfile "${pidfile}" \ + --exec /usr/bin/ssh-agent \ + -- -a "${SSH_AGENT_SOCK}" \ + > "${envfile}" \ + || die "ssh-agent fail to start" + eend $? + + source "${envfile}" > /dev/null + rm -f "${envfile}" + + if [[ -z ${SSH_AGENT_PID} ]] ; then + die "ssh-agent generate to PID" + fi + + echo "${SSH_AGENT_PID}" > "${pidfile}" + unset SSH_AGENT_PID SSH_AUTH_SOCK + + if [[ ${SSH_AGENT_KEY} ]] ; then + ebegin "Registering private key ${SSH_AGENT_KEY})" + SSH_AUTH_SOCK="${SSH_AGENT_SOCK}" ssh-add "${SSH_AGENT_KEY}" + eend $? + fi +} |