即使我保存了OS X钥匙串,它也会不断提示我输入SSH密码(OS X 10.6.8)


20

每次我使用SSH登录到远程服务器时,OS X钥匙串都会提示我记住SSH密码。我输入密码并选中复选框以记住它。然后,我将ok连接到服务器,但是下次再次提示时,依此类推...

我有一个私钥可以SSH进入服务器,并且连接正常。在我的主机文件中,我有:

Host myhost
    HostName xxx.xxx.xxx.xx
    GlobalKnownHostsFile ~/.ssh/known_hosts
    port 22
    User myuser
    IdentityFile ~/.ssh/mykey_dsa
    IdentitiesOnly yes

..然后我输入 ssh myhost

这只是一个最近的问题,所以我怀疑钥匙串是否存在问题?需要明确的是,我每次都可以“重新添加”到钥匙串并进行连接,但这没有达到目的。我的dsa密钥的权限设置为600或-rw-------@

我尝试修复磁盘权限,但效果不好。我的Google-foo也让我失望,没用。因此,我不确定这是OS X /钥匙串问题还是SSH问题。

更新: 当我尝试ssh -vvv myhost时,我认为它揭示了问题所在:

debug1: Trying private key: /Users/danny/.ssh/mykey_dsa
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug3: Not a RSA1 key file /Users/danny/.ssh/mykey_dsa.
debug1: read PEM private key done: type DSA
Identity added: /Users/danny/.ssh/mykey_dsa (/Users/danny/.ssh/mykey_dsa)
debug1: read PEM private key done: type DSA
debug3: sign_and_send_pubkey
debug2: we sent a publickey packet, wait for reply
debug1: Authentication succeeded (publickey).

...然后我就建立了联系。我认为问题的症结在于:

PEM_read_PrivateKey failed

更新2: 在另一台Mac上使用10.6.8尝试相同的键和设置之后,一切都正常,所以我认为这是Mac特定的问题,可能是权限钥匙串问题。

更新3 我还尝试了整版Mountain Lion(10.8.1)的安装,可惜我完全没有遇到同样的问题。

可能相关: https : //discussions.apple.com/thread/3518441? start =0& tstart =0

更新4 这就是答案


1
尝试ssh -v[v] myserver获取有关该错误的详细信息。

@ansi_lumen我尝试了ssh -vvv并在上面发布了结果。我认为是问题所在,PEM_read_PrivateKey failed但我不知道为什么,我生成了这个密钥,就像添加到钥匙串中并停留在其中的所有其他密钥一样。
丹尼·英格兰

1
这为我解决了这个问题:apple.stackexchange.com/a/26252/17690
Danny Englander

2
ssh-add -K为我修复了该问题
Orkoden,2016年

Answers:


13

/apple//a/26252/17690复制的答案


请确保您有相应的id_rsa.pubid_dsa.pub在你的~/.ssh目录中。

当我有一个,id_rsa但没有对应的时id_rsa.pub,Mac OS X不断弹出对话框,并记住我的钥匙串中的passowrd没有任何作用。

cd ~/.ssh
ssh-keygen -y -f id_rsa > id_rsa.pub

为我生成了适当的公钥文件。

如果您已经有公用文件了(将其重命名为另一个名称)并使用上述命令再次生成公用密钥,您会注意到生成的密钥和旧的密钥不相等。不知何故,较早版本的Mac OS X生成了Lion不再喜欢的公钥,再次生成可以解决该问题。

出于好奇,密钥是完全相同的,更改之处在于文件上的密钥之后不再有“ comments”部分。


这帮助我到达了那里,但是我也粘贴了一个私钥,并且没有在空格上拆分它,而是将它们全部放在一行中。解决此问题后,解决了OP所遇到的相同问题。
卡梅隆·加格农
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.