ssh_find_agent is a tool for locating existing ssh compatible agent processes (e.g., ssh-agent, gpg-agent, gnome-keyring, osx-keychain); and, optionally, setting SSH_AUTH_SOCK
accordingly.
Somewhere in shell initialization (~/.bashrc
or ~./.zshrc
)
. ssh-find-agent.sh
Add the following to automatically choose the first agent
ssh_find_agent -a
if [ -z "$SSH_AUTH_SOCK" ]
then
eval $(ssh-agent) > /dev/null
ssh-add -l >/dev/null || alias ssh='ssh-add -l >/dev/null || ssh-add && unalias ssh; ssh'
fi
... or, as ssh_find_agent
with -a
or -c
returns non-zero if it cannot find a live-agent, simply:
ssh_find_agent -a || eval $(ssh-agent) > /dev/null
To choose the agent manually run
ssh_find_agent -c
To list the agents run
ssh_find_agent
NOTE: The choose option is Useful when you actually want multiple agents forwaded. eg. pairing