小编典典

如何让 ssh-agent 按需自动添加密钥?

ssh

我想运行 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?


阅读 147

收藏
2022-07-14

共1个答案

小编典典

ssh 支持在首次使用时向代理添加密钥(从 7.2 版开始)。您可以通过将以下内容放入来启用该功能~/.ssh/config

AddKeysToAgent yes

这也适用于使用衍生工具,例如 git。

7.2 更新日志

  • ssh(1):添加一个 AddKeysToAgent 客户端选项,可以设置为“yes”、“no”、“ask”或“confirm”,默认为“no”。启用后,如果 ssh-agent 正在运行,则在身份验证期间使用的私钥将添加到它(如果设置为“确认”,则启用确认)。
2022-07-14