两台机器上的授权密钥文件相同。所以,我不知道还有什么其他要检查的。
在有效的那个(主机 A->B)上我得到了..
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering DSA public key: foo.macbook.air
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: Authentication succeeded (publickey).
在不起作用的那个(主机B->A)上,我得到:
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/foo/.ssh/id_rsa
debug1: Trying private key: /home/foo/.ssh/id_dsa
两个主机上的文件/etc/ssh/ssh_config
相同。并且我的~/.ssh/authorized_keys
在两个主机上也是相同的,具有权限 600。~/.ssh
也具有权限 600。
问题是否可能是由于某种原因主机 B 没有“提供”公钥?我很困惑,因为所有东西都以一种方式工作,而另一种方式不行,而且我看不出两台服务器之间有什么明显的区别。
答案1
问题与 SecureCRT 有关。我删除了 hostsmap.txt 文件。
C:\Documents and Settings\%user%\Application Data\VanDyke\Known Hosts\hostsmap.txt
不知何故,问题归结为主机密钥问题。
答案2
两台主机上的 authorized_keys 完全相同是行不通的。主机 A 需要 B 在其 authorized_keys 中的公钥,而主机 B 需要 A 的公钥。
答案3
B 上应该有一把私钥,而authorized_keys
A 上应该有一把公钥作为其对应的条目;反之亦然。