System-wide user-specific spawning of ssh-agent(1).
[nethome.git] / bin / ssh-agent-spawn
1 #! /sbin/nologin
2 # $Id$
3
4 agenteval=/tmp/.$USER.ssh-agent.eval
5 if lockfile -1 -r 3 -l 10 -s 1 $agenteval.lock;then
6         test -f $agenteval -a -O $agenteval -a -G $agenteval &&
7                         source $agenteval 2>/dev/null
8         if [ "ssh-agent" != "`(xargs -0 </proc/"$SSH_AGENT_PID"/cmdline sh -c 'echo "$0"') 2>/dev/null `" ];then
9                 rm -f $agenteval
10                 (test ! -e $agenteval && ssh-agent -s >$agenteval) || echo >&2 'Failing ssh-agent!'
11                 source $agenteval
12         fi
13         rm -f $agenteval.lock
14         ssh-add ~/.ssh/id_dsa
15 fi
16 unset agenteval