Centos8 系统上 Putty 提示“服务器拒绝我们的密钥”

Centos8 系统上 Putty 提示“服务器拒绝我们的密钥”

我有一个运行 Centos8 的 AWS EC2 实例,使用常规 ssh 客户端(不是 putty)建立完美的 SSH 连接。

我需要使用 Windows10 Pro 桌面上的 Putty 进行连接。

我希望这个社区可以提供我尚未找到的修复程序。

当我尝试使用 putty-gen 创建的对中的公钥进行连接时,出现“服务器拒绝我们的密钥”的信息。

authorized_keys文件包含以下条目(从 puttygen 复制):

ssh-dss AAAAB3NzaC1kc3MAAACBAPEsveu9UvIu8rqQvyMTAlpEmzZDHEHy9tzm33hqooVDYx8Y2HKL1pOWFCtORMHrQC0s2tMoWUmuN8zj7fJe2JUrU+pxPj8BoaeMEBlIQlw6YLkkl8oNysNs1gn3NBG8Pbii5SCWLOMHYNU/FrrGfIC4gK98FWOs+XB8b2TDC+GhAAAAFQDr8V35S0yUUHkKQhOdTBE01z/xnwAAAIEA413XRIqaOoD7fNhJL75gFWjCEfmoDjrUxCMTCWruQB0/ggh3kaUXCZW09M3uv12ibHg76Hjv2ams2tmMp3uHCkEd0Aiuxh5M1vbu/w2YwzSd2QVbMXlXBQdLiqatDuKENFoKk9x/RsZT5gnyDN65/BC/t7vTMk/Q9DxtBklFh6IAAACBAJINInKSQvRCwnlsASdia2QrRCXK7+aTycg8rWDpHI5O+CpKaphdpxrv8yfAElfziLkt4HYo8QO6dCgonktt0s5bIkdpP35yN6P32wIOtqpYLqsIMsnmLxolVqAbmPO0V/Z79gYkNVzWWRb0PnImYQepcUZFO03k8Sq4ny9y/Tsk Tom_S_admin

这似乎是我的本地凭证的问题,但我已经尝试了所有常见的修复方法,但没有成功。

我尝试了建议的方法另一个 stackoverflow 问题/etc/ssh/sshd_config——在服务器上添加以下内容:

PubkeyAcceptedAlgorithms +ssh-rsa

遗憾的是,这个功能坏了sshd,所以我恢复了更改。

以下是我在桌面上看到的内容:

[油灰投诉 失败后的 Putty 登录屏幕

答案1

ssh-dss

“ssh-dss” 表示 DSA 密钥。DSA 密钥已被弃用多年。

您应该重新开始并生成更现代类型的密钥。RSA 是最广泛兼容的选项,甚至更现代的类型也可以使用更短的密钥提供相同的安全性,但只要密钥长度足够好(最低 2048 位,我追求 4096 位),RSA 仍然没问题。

答案2

我很感谢两位的帮助@plugwash@Perigrino69

我通过将两者结合起来解决了这个问题,结果发现方法很简单。

我使用了最新版本的PuTTYPuTTYgen来生成一个新的密钥对。我复制了字段PuTTYgen并将其粘贴到authorized_keys

ssh-rsa AAAAB3NzaC1yc2 <elided> BZZD/FJpyOsk+ovzNvpWZpGro3Pe4MGCA/ZdEDPKrQ9N8RhIMYZYvwle4NNMgbckQnCjmJ6FOvvyV4/YsvHzXeOMOelPrPtGTnFnayw6kAqdK7xEY2d2z4xqVyhgni/xTA9OASfCPJXzf rsa-key-20230301

我将私钥设置PuTTY为新生成的私钥。

这正是所期望的——问题解决了,

答案3

PuTTy 不能直接使用 OpenSSH 密钥。您需要先使用 PuTTYgen 进行转换。

  1. 从 PuTTY 密钥生成器菜单中单击“转换”,然后选择“导入密钥”。
  2. 导航到 OpenSSH 私钥并单击“打开”。
  3. 在“操作”/“保存生成的密钥”下,选择“保存私钥”。
  4. 选择一个可选的密码来保护私钥。
  5. 将私钥以“id_rsa.ppk”的形式保存到桌面。

接下来您需要将公钥复制到服务器。

  1. 突出显示 PuTTY 密钥生成器中的整个公钥并复制文本。
  2. 启动 PuTTY 并使用您现有的用户凭据登录远程服务器。
  3. 使用您喜欢的文本编辑器创建和/或打开 authorized_keys 文件:
  4. 将公钥粘贴到authorized_keys文件中。
  5. 保存文件并关闭文本编辑器。
  6. 调整authorized_keys文件的权限,使该文件不允许组可写的权限chmod 600 ~/.ssh/authorized_keys

完成后,您应该能够使用私钥进行连接。

  1. 在“会话”下输入远程服务器主机名或 IP 地址。
  2. 导航到“连接”>“SSH”>“验证”。
  3. 点击“认证参数”/“用于认证的私钥文件”下的“浏览...”。
  4. 找到“id_rsa.ppk”私钥并点击“打开”。
  5. 最后再次点击“打开”,即可通过密钥对认证登录远程服务器。

来源(IONOS)还有澄清的截图等等。

相关内容