Answers:
在ssh-agent
OpenSSH的和最新版本使简单:
从ssh-agent
添加的键的默认超时开始正常(例如60分钟):
eval `ssh-agent -t 60m`
配置您ssh
将实际使用的密钥添加到代理。在〜/ .ssh / config`中添加新行:
AddKeysToAgent yes
最新的OpenSSH 7.2中具有此功能。在以前的版本中,如果超过了超时时间,则需要将密钥手动添加到代理中,但是可以使用bash函数将其自动化,就像这样:
ssh() {
/bin/ssh -o BatchMode=yes $* || \
ssh-add path/to/the-key && /bin/ssh $*
}
想法:尝试以批处理方式使用密钥进行连接(如果密钥不存在,则不会提示输入密码并失败),一旦失败,将密钥添加到代理中并重新运行ssh命令。