From a4bacb8bb9293d55db3afe1542e97ec7d964011a Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Thu, 26 Sep 2013 14:46:21 -0400 Subject: [PATCH] [Fix #479] Start only one ssh-agent instance --- modules/ssh/init.zsh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/ssh/init.zsh b/modules/ssh/init.zsh index 320f7635..daa4372f 100644 --- a/modules/ssh/init.zsh +++ b/modules/ssh/init.zsh @@ -21,10 +21,13 @@ _ssh_agent_sock="$TMPDIR/ssh-agent.sock" # Start ssh-agent if not started. if [[ ! -S "$SSH_AUTH_SOCK" ]]; then - eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")" -else # Export environment variables. source "$_ssh_agent_env" 2> /dev/null + + # Start ssh-agent if not started. + if ! ps -U "$USER" -o pid,ucomm | grep -q "${SSH_AGENT_PID} ssh-agent"; then + eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")" + fi fi # Create a persistent SSH authentication socket.