每次我使用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 这就是答案
PEM_read_PrivateKey failed
但我不知道为什么,我生成了这个密钥,就像添加到钥匙串中并停留在其中的所有其他密钥一样。
ssh-add -K
为我修复了该问题
ssh -v[v] myserver
获取有关该错误的详细信息。