plugins/ssh-agent: create symlink when doing agent forwarding

Create symlink for screen/tmux when doing agent forwarding. This
means agent forwarding keeps working after ssh deconnections.

Screen will need the following added to .screenrc:

setenv SSH_AUTH_SOCK "/tmp/ssh-agent-$USER-screen"
This commit is contained in:
Florent Thoumie 2010-12-29 14:18:39 +00:00
commit 53411d03d6

View file

@ -10,14 +10,17 @@ function start_agent {
/usr/bin/ssh-add; /usr/bin/ssh-add;
} }
# Source SSH settings, if applicable if [ -n "$SSH_AUTH_SOCK" ]; then
# Add a nifty symlink for screen/tmux if we're doing agent forwarding.
if [ -f "${SSH_ENV}" ]; then test -L $SSH_AUTH_SOCK || ln -sf "$SSH_AUTH_SOCK" /tmp/ssh-agent-$USER-screen
. ${SSH_ENV} > /dev/null
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else else
start_agent; # Source SSH settings, if applicable.
if [ -f "${SSH_ENV}" ]; then
. ${SSH_ENV} > /dev/null
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
fi fi