删除 Mac OS X SSH 密码弹出窗口

删除 Mac OS X SSH 密码弹出窗口

我的 Mac 上的 ssh-agent 会导致某些主机弹出窗口:

[me@my-laptop]$ ssh cargo2

Last login: Tue Aug  3 09:26:43 2010 from trainwreck.arlut.utexas.edu
[me@cargo2]$

但对于其他主机来说:

[me@my-laptop]$ ssh red

然后我得到了可怕的“输入 SSH 密钥‘id_rsa’的密码。”弹出窗口。我知道 ssh-agent 正在运行并且正常工作,因为它在第一个主机上工作正常。

我如何停止所有主机的弹出窗口并使其始终使用 ssh-agent?

以供参考:

$ ssh-add -l
2048 <hex value> /Users/me/.ssh/id_rsa (RSA)

$ ps aux | grep ssh-agent
me    1393   0.0  0.0  2445984   1572   ??  Ss    9:18AM   0:00.10 ssh-agent -s

$ env | grep -i ssh
SSH_AGENT_PID=1393
SSH_AUTH_SOCK=/tmp/ssh-UW4rDdw1jw/agent.1391

答案1

如果 ~/.ssh/id_rsa 存在但 ~/.ssh/id_rsa.pub 不存在,也会发生同样的事情,如果你删除 pub 文件,使用密钥进行身份验证仍然有效,但每次都要求输入密码

答案2

事实证明,我从另一台笔记本电脑复制了我的id_rsaid_rsa.pub文件。我将公钥复制到我尝试登录的服务器,由于某种原因,其中一个服务器接受了客户端主机名不匹配的密钥,而另一个服务器没有接受。

为了解决这个问题,我必须生成一对新的公钥/私钥并分发它。

答案3

您是否在 ~/.ssh/config (或其他地方)中为这两个主机设置了不同的身份?

如果您有不同的身份,那么可能没有在OS X钥匙串中配置。这篇博文(不是我的,只是通过谷歌找到的)讨论了钥匙串如何在 OS X Leopard 中与 ssh-agent 配合使用。

答案4

在我的 Mac Lion 上,这个命令对我有用:rm ~/.ssh/*

http://om4.com.au/ssh-rsa-key-pairs-passphrases-leopard/

相关内容