我想运行 ssh-agent (具有最长生命周期选项),但在启动时不添加任何密钥,而是按需添加它们。
就像我第一次登录某个服务器时它应该要求输入密码,下一次(除非我等了一个多小时)它应该干净地连接:
ssh server1 Enter passphrase for key '/home/vi/.ssh/id_dsa': server1> ... ssh server2 server2> # no passphrase this time # wait for lifetime ssh server2 Enter passphrase for key '/home/vi/.ssh/id_dsa':
我不想手动记住每次运行 ‘ssh-add’。(例如,为 ssh 输入密码和“哦,它不记得了,需要重新输入”)。
如果用户提供了密码,如何配置 ssh 以自动将密钥添加到 ssh-agent?
ssh 支持在首次使用时向代理添加密钥(从 7.2 版开始)。您可以通过将以下内容放入来启用该功能~/.ssh/config:
~/.ssh/config
AddKeysToAgent yes
这也适用于使用衍生工具,例如 git。
从7.2 更新日志:
ssh(1):添加一个 AddKeysToAgent 客户端选项,可以设置为“yes”、“no”、“ask”或“confirm”,默认为“no”。启用后,如果 ssh-agent 正在运行,则在身份验证期间使用的私钥将添加到它(如果设置为“确认”,则启用确认)。