Sempre que você executa eval $(ssh-agent) && ssh-add , um novo agente é iniciado, então você precisa se autenticar novamente.
Acho que a melhor maneira é armazenar os dados do agente SSH permanentemente por sessão (no seu ~/.profile ):
export SSHPROC=${HOME}/.ssh/cur-proc.${HOSTNAME}
restart_ssh_agent(){
. ${SSHPROC}
kill ${SSH_AGENT_PID}
/bin/rm -rf ${SSHPROC} ${SSH_AUTH_SOCK} /tmp/ssh-*
ssh-agent > ${SSHPROC}
cat ${SSHPROC}
. ${SSHPROC}
ssh-add
}
e adicione . ${SSHPROC} ao seu .bashrc .
Em seguida, você chama restart_ssh_agent uma vez (ou quando ele morre por algum motivo) e, em seguida, mantém suas credenciais com o agente.