From 8345f220ffa19b8930d749ff2dcbf8c697bd5e3f Mon Sep 17 00:00:00 2001 From: Bertrand Jacquin Date: Sat, 15 Aug 2015 22:58:04 +0100 Subject: factory-default/net-misc/openssh: Add ssh-agent init scripts --- .../net-misc/openssh/etc/conf.d/ssh-agent | 8 ++++ .../net-misc/openssh/etc/init.d/ssh-agent | 47 ++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 factory-default/net-misc/openssh/etc/conf.d/ssh-agent create mode 100755 factory-default/net-misc/openssh/etc/init.d/ssh-agent (limited to 'factory-default') 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 +} -- cgit v1.2.3