As versões ssh-agent e recentes do OpenSSH simplificam:
-
Inicie o tempo normal
ssh-agentcom o tempo limite padrão para as chaves adicionadas (60 minutos, por exemplo):eval 'ssh-agent -t 60m' -
Configure seu
sshpara adicionar as chaves realmente usadas ao agente. Adicione uma nova linha em ~ / .ssh / config ':AddKeysToAgent yesEste recurso está no mais recente OpenSSH 7.2. Nas versões anteriores, você precisa adicionar a chave ao agente manualmente, se o tempo limite for excedido, mas pode ser simplesmente automatizado usando a função bash, algo assim:
ssh() { /bin/ssh -o BatchMode=yes $* || \ ssh-add path/to/the-key && /bin/ssh $* }A ideia: tente se conectar usando a chave no modo batch (não solicitará passphrase e falhará, se a chave não estiver lá) e, após uma falha, adicione a chave ao agente e execute novamente o comando ssh.