设想:
客户端计算机从 OS X 10.7.5 升级到 10.8.4。
多个私钥。
我正在使用 ssh -i /path/to/pem establisheduser@knownhost 调用辅助密钥 - 效果很好。
在已知主机服务器上,我创建了新用户,并向其添加了相同的公钥。
我已确认服务器和客户端上的目录和密钥文件的权限是正确的(.ssh 目录为 700,authorized_keys 和 pem 文件为 600)。
当我使用相同的语法但将现有用户更改为新用户时,身份验证失败。
当我使用 ssh -vv 查看发生的情况时,以下是两次尝试的两个输出:
现有用户:
debug1: Trying private key: /path/to/pem
debug1: read PEM private key done: type RSA
debug2: we sent a publickey packet, wait for reply
debug1: Authentication succeeded (publickey).
新用户:
debug1: Trying private key: /path/to/pem
debug1: read PEM private key done: type RSA
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
相同的密钥。两端的权限均正确。
关键是:我在另一台机器上有这个密钥,我也同时将 10.7.5 升级到了 10.8.4。第二台机器可以成功登录两个用户,没有任何问题。
据我所知,区别在于第二台机器使用密钥作为 .ssh 中的主 id_rsa 密钥,而我在问题机器上使用 -i 调用密钥文件。
如果必须的话,我会对其进行严格定义,但我更愿意弄清楚为什么这根本就是个问题。据记录,这在 10.7.5 中运行良好。
有谁见过这种情况,或者知道进一步排除故障或解决问题的方法吗?