我忘了如何执行该程序。
我在 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.
我忘了如何正确地执行此过程。 如何才能正确地将钥匙放入钥匙链中?
答案1
在客户端,您需要密钥的私钥部分和公钥部分。
在服务器端,您需要拥有密钥的公共部分$HOME/.ssh/authorized_keys
。
因此,您的描述中缺少的步骤是:
- 将公钥复制到笔记本电脑的
$HOME/.ssh/id_rsa.pub
- 将公钥添加到服务器的
$HOME/.ssh/authorized_keys
答案2
我猜你使用的是 OSX Mavericks。这个苹果支持论坛消息似乎非常相关:
https://discussions.apple.com/thread/5470737?btstart=0
看起来您需要将 ssh-keygen 生成的密钥“修改”为 OSX 修补的 openssh 可以使用的形式。
有可能,情况可能是这样的:
如果您仍然遇到问题,请添加私钥的前三行,如下所示:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,3EA2BF123CB9E67FBB094A12A82E7BAF
顺便说一句,如果您有一个名为 SSH_ASKPASS 的环境变量,我会很高兴知道。理论上,这应该是 apple ssh-add 调用图形密码提示的方式。
祝你好运!