Se você estiver efetuando login em uma sessão gráfica, organize para iniciar ssh-agent durante a inicialização da sua sessão. Algumas distribuições já fazem isso por você. Se o seu não, organize para executar ssh-agent do seu script de inicialização da sessão ou do gerenciador de janelas. Como isso depende do ambiente de área de trabalho e do gerenciador de janelas. Por exemplo, se você iniciar o gerenciador de janelas manualmente, basta substituir a chamada por my_favorite_wm por ssh-agent my_favorite_wm .
Não inicie ssh-agent de .bashrc ou .zshrc , pois esses arquivos são executados em cada novo shell interativo. O local para iniciar o ssh-agent está em um arquivo de inicialização de sessão, como .profile ou .xsession .
Se você quiser usar o mesmo agente SSH em todos os processos, não importa de onde você tenha feito login, você pode fazer com que ele sempre use o mesmo nome de soquete, em vez de usar um soquete nomeado aleatoriamente. Por exemplo, você pode colocar isso no seu ~/.profile :
export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$HOSTNAME.sock
ssh-add -l 2>/dev/null >/dev/null
if [ $? -ge 2 ]; then
ssh-agent -a "$SSH_AUTH_SOCK" >/dev/null
fi