我忘记了如何执行此程序。
我在 OSX 10.9.1 上做过
ssh-keygen
在我的服务器上运行- 将私钥 id_rsa 移到我的笔记本电脑上
$HOME/.ssh/id_rsa
,从我的服务器中删除了私钥 id_rsa $HOME/.ssh/config
在我的笔记本电脑中创建以下内容- 跑
ssh-add $HOME/.ssh/id_rsa
我的 .ssh/config
Host server.myhomepage.com
User masi
Port 22
Hostname server.myhomepage.com
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
我跑
ssh-add .ssh/id_rsa
Enter passphrase for .ssh/id_rsa:
Identity added: .ssh/id_rsa (.ssh/id_rsa)
并且运行更多
ssh server.myhomepage.com
Saving password to keychain failed
它在一个图形窗口中询问我的 id_rsa 密码,我给出了正确但收到失败消息。然后,它会在终端询问我是否正确输入了私钥的密码,但仍然显示失败消息。我用正确的密码运行了很多次
Identity added: /Users/masi/.ssh/id_rsa (/Users/masi/.ssh/id_rsa)
[email protected]'s password:
Permission denied, please try again.
我忘记了如何正确执行此过程。 如何正确地将钥匙放在钥匙串中?
在客户端,您需要密钥的私有部分和公共部分。
在服务器端,您需要将密钥的公共部分保存在
$HOME/.ssh/authorized_keys
.因此,您的描述中缺少的步骤是:
$HOME/.ssh/id_rsa.pub
$HOME/.ssh/authorized_keys
我猜你在 OSX 和 Mavericks 上。这个苹果支持论坛消息似乎非常相关:
https://discussions.apple.com/thread/5470737?btstart=0
看来您需要将 ssh-keygen 生成的密钥“按摩”成 OSX 修补过的 openssh 可以使用的形式。
潜在地,它可能是这种情况:
https://apple.stackexchange.com/questions/106364/osx-ssh-agent-no-password-pasting-and-problem-with-pkcs8
如果您仍然有问题,请添加私钥的前三行,如下所示:
顺便说一句,如果您有一个名为 SSH_ASKPASS 的环境变量存在,我会很高兴。理论上,这应该是苹果 ssh-add 调用图形密码提示的方式。
祝你好运!