当密钥在 ssh-agent 中时提示输入密钥密码

当密钥在 ssh-agent 中时提示输入密钥密码

在旧的 shell 会话中, 中的 ssh 密钥数量往往大到足以使服务器身份验证失败,这仅仅是因为客户端只是按照 FIFO 方式向其抛出密钥。即使中为相关主机指定了ssh-agent该指令,它似乎也会这样做。IdentityFile~/.ssh/config

为了解决这个问题,我IdentitiesOnly在上述文件中添加了指令。但是现在,当我尝试连接到服务器时,系统会提示我输入 ssh 密钥密码。尽管密钥位于 中,但仍然如此ssh-agent。当我从配置文件中删除时IdentitiesOnly,不会出现任何提示,并且会授予访问权限。

所以,我的问题是,如何确保向给定的服务器提供正确的密钥(而不是其他密钥)避免被提示输入该密钥的密码?

答案1

我找到了解决方案这篇博文

本质上,这个想法是在声明中引用公钥,而不是私钥IdentityFile。因此,主机的最终配置foo将如下所示:

Host foo
    Hostname foo.org
    User admin
    IdentityFile ~/.ssh/foo.pub
    IdentitiesOnly yes

相关内容