对于新的 AWS 实例,“使用用户名“ubuntu”。服务器拒绝了我们的密钥。”

Eri*_*ric 5 ssh login aws amazon-ec2 remote-login

我一直在AWS中使用Amazon EC2实例。我已经成功使用 WinSCP 连接到各种实例,包括 Amazon Linux、Rocky Linux、SUSE 和 CentOS 6、7 和 8。所有这些具有其他操作系统的实例都已成功使用特定的组合

  • 密钥对(登录)
  • 专有网络
  • 子网
  • 防火墙(安全组)

因此,这些选择中的任何一个都有错误似乎都不合理。

在 WinSCP 中,我可以从其他实例克隆工作 WinSCP 配置,然后(在调整新站点以更改“主机名”并使用建议的登录用户名“ubuntu”之后)我可以尝试像其他实例一样进行连接那行得通。因此,问题似乎不太可能是 WinSCP 配置不正确(除非我应该使用“ubuntu”以外的其他名称作为默认用户名)。

可以看到该实例,但仅 Ubuntu 实例尝试登录失败。

没有可用的受支持的身份验证方法(服务器发送:公钥)

使用用户名“ubuntu”。服务器拒绝了我们的密钥。认证失败。

我已经研究了一些与“服务器拒绝我们的密钥”有关的其他问题,但这不是密钥对本身的问题,因为它适用于许多其他实例。它似乎也不可能是适用于其他实例的任何其他常见元素。错误消息本身表明它确实看到了推荐的登录用户名“ubuntu”(我什至尝试了有时用于AWS实例登录的其他用户名,例如ec2-user、admin、root,但这些也不起作用) 。

我还尝试创建第二个实例来检查创建第一个实例是否存在一些侥幸或错误,但没有区别。

由于此失败的登录是针对默认用户的初始登录尝试,因此我无法以其他用户身份登录并在内部查看或更改实例。

如果重要的话,我正在使用

最小 Ubuntu 22.04 LTS - Jammy https://aws.amazon.com/marketplace/pp/prodview-o5bowpuwmx3ng

更新 1: Ubuntu 22.04 LTS 也会发生同样的情况 - Jammy https://aws.amazon.com/marketplace/pp/prodview-f2if34z3a4e3i

我想知道 Ubuntu 处理通信的方式是否有所不同,需要与任何其他已运行的操作系统不同的设置。

更新 2:根据rahul jain的答案中的线索,我尝试使用基于之前的 Minimal Ubuntu LTS 版本的实例进行快速测试。

最小 Ubuntu 20.04 LTS - Focal https://aws.amazon.com/marketplace/pp/prodview-meawmysinhrrs

那个效果很好。因此,这个问题似乎确实是自 20.04 Focal Fossa 以来的一个变化,而且很可能与需要更新的 PuTTY 代码库的身份验证更改有关,正如 rahul Jain 所建议的那样。我会做更多测试,但到目前为止答案看起来不错。

小智 10

尝试将 putty 更新到最新版本,我正在使用旧版本,将其更新到 0.76,它工作完美\n https://www.chiark.greenend.org.uk/~sgtatham/putty/

\n

希望这可以帮助

\n

Eric 补充道:\n对于像我这样使用 WinSCP 的人来说,等效的解决方案是升级到 WinSCP 版本 5.20(或更高版本)。目前5.20仍处于测试阶段。(目前最新版本为5.19.6)

\n

“WinSCP 5.20 是一次重大应用程序更新。新功能和增强功能包括:

\n

...\nSSH 核心升级到 PuTTY 0.76。其中包括支持 rsa-sha2-256 和 rsa-sha2-512 SSH 公钥算法。...”摘自WinSCP 的所有下载

\n

在 rahul jain 的回答和建议的帮助下,我能够将问题隔离到 WinSCP,然后找到此相关的错误报告。

\n

在 LAMP 堆栈上更新到 Ubuntu 22.04 beta 后,“服务器拒绝了我们的密钥”

\n

该 WinSCP 问题指向相关问题“ Bug 1952 \xe2\x80\x93 支持 rsa-sha2-256 和 rsa-sha2-512 SSH 公钥算法

\n

PuTTY 0.76 适用于 rahul jain,可能是因为它的 SSH 处理已升级(例如,版本 0.75 添加了“将默认 SSH 密钥指纹格式升级为 OpenSSH 样式的 SHA-256。将私钥文件格式升级为 PPK3,改进了密码哈希,但没有用” SHA-1。”)

\n

Ubuntu 22.04 LTS (Jammy Jellyfish)发行说明中的​​“已知问题”导致了此相关的 GitHub 问题,该问题描述了“ openssh 弃用 ssh-rsa 密钥类型... ”\n摘录:\n“现在可以执行选择的操作-prefix 针对 SHA-1 算法的攻击费用低于 5 万美元。因此,我们将在不久的将来版本中默认禁用“ssh-rsa”公钥签名算法。

\n

\n“发行版正在关注这一点并弃用 ssh-rsa。Fedora 最近这样做了,它将出现在下一个主要 Fedora 版本中......”

\n

据推测,出于类似原因,Ubuntu 22.04 版本也同样废弃了旧的、安全性较低的 SSH 身份验证标准,这需要其他客户端软件来加强。

\n