当没有 ssh-agent 进程运行时,当我打开终端时,ssh-agent 就会启动,并要求我输入私钥的密码。每次我尝试输入它时,都会收到错误:Bad passphrase, try again for /Users/user/.ssh/id_ed25519:
。我不会在此期间更改剪贴板的内容。经过几次失败的尝试后,我只需关闭终端窗口并再次重新打开它,然后再次出现输入密码的提示,然后我再次粘贴相同的密码(无需再次复制)并接受它。我已经多次终止 ssh-agent 进程来验证这一点,并且总是会发生相同的行为。我的 ssh-agent 有什么问题吗?这是 macOS 上的默认设置。
下面是另一种情况。在这种情况下,经过几次失败的尝试后,我按下了Ctrl+C
。该行Starting ssh-agent ...
已打印,我什至没有尝试再次重新打开终端窗口来输入我的密码。相反,我尝试立即在同一个终端会话中通过 SSH 连接到我的网站服务器,希望再次询问我的密码。但连接并没有提示输入密码,而是成功了,就好像我的密码已经被输入并接受一样。
~ Enter passphrase for /Users/user/.ssh/id_ed25519: 0:03
Bad passphrase, try again for /Users/user/.ssh/id_ed25519:
Bad passphrase, try again for /Users/user/.ssh/id_ed25519:
Bad passphrase, try again for /Users/user/.ssh/id_ed25519:
当我按下 时(Ctrl+C)
,会打印以下输出:
Starting ssh-agent ...
user@users-mbp ~ % ssh website.com
Last login: Sat Jan 27 17:08:16 2024 from xx.xxx.xx.xxx
[user@website ~]$
这是我的 ~/.ssh/config 文件内容:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
Host website.com
HostName xx.xxx.xx.xxx
Port 1500
User user