我知道关于这个话题有很多问题和答案,但是我仍然困惑。
我在 AWS 上有一个运行了很长时间的服务器,并且 ssh 一直有效,使用 .pem 文件并且无需密码。
现在,我在同一个安全组下运行第二个类似的服务器:但我无法从同一台客户端计算机通过 ssh 进入它。但是我可以通过 Android 应用 Juice 来 ssh 旧服务器和新服务器,当然使用相同的 .pem 文件来识别我自己。
还有什么事情发生?我已检查 .pem 文件的权限 (400)
我对每一个工作和失败都做了详细的记录。
事情从这里开始出现偏差:这是正常工作的情况:
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/mike/.ssh/mms-aws.pem
debug3: sign_and_send_pubkey: DSA SHA256:6YSh etc
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 52
debug1: Authentication succeeded (
这是失败的:
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/mike/.ssh/mms-aws.pem
debug3: sign_and_send_pubkey: DSA SHA256:6YSh etc
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
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).
欢迎提供任何帮助和建议。本地计算机是 Ubuntu 16.04。旧 EC2 实例是 Ubuntu 12。新服务器是 Ubuntu 16.04。
答案1
好吧,使用为新实例创建的新密钥对(但安全组相同),我已经能够以 ubuntu@... 和 sudo 身份登录,并设置用户并以该用户身份进行 ssh。已解决。
也许 openssh 的版本检测到密钥对在两个地方使用并且不喜欢这样。
不过,它能通过 Juice 起作用还是很奇怪。