Adi*_*a K 42 ssh putty openssh
我在 AWS 中构建了一个新的 Ubuntu 服务器。现在由于某种原因,我在其他 Ubuntu 服务器上工作的私钥对她不起作用了。auth.log 中的错误是
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
这只是 Putty 的问题,如果我尝试通过 Linux 工作站进行日志记录,任何机器都不会出现任何问题。
我看到的区别是新服务器是
Ubuntu 22.04.1 LTS 运行OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
工作(旧)服务器是
Ubuntu 20.04.4 LTS(Focal Fossa)运行OpenSSH_8.2p1 Ubuntu-4ubuntu0.4, OpenSSL 1.1.1f 31 Mar 2020
此版本的 OpenSSH 有什么变化吗?如何让腻子再次工作?
小智 50
一个简单的解决方案。
将这一行添加到/etc/ssh/sshd_config.
PubkeyAcceptedAlgorithms +ssh-rsa
Run Code Online (Sandbox Code Playgroud)
之后,重新启动sshd服务以使新设置生效。
$ sudo systemctl restart sshd
Run Code Online (Sandbox Code Playgroud)
bk2*_*204 23
SSH 协议中有多种类型的密钥和签名算法。密钥类型为 的 RSA 密钥ssh-rsa可用于使用 SHA-1(在这种情况下,签名类型为ssh-rsa)、SHA-256(签名类型为rsa-sha2-256)或 SHA-512(签名类型为rsa-sha2-512)进行签名。
您在这里看到的是,您正在使用 RSA 密钥进行连接,并使用ssh-rsa带有 SHA-1 的签名类型。不幸的是,SHA-1 不再安全,服务器告诉您它不会接受该签名类型。这是正确的做法,因为它可以避免任何安全问题。
您可以通过几种不同的方式解决这个问题。首先,您可以简单地升级 PuTTY。最新版本支持 SHA-2 签名算法(SHA-256 和 SHA-512),因此应该可以正常工作。您还可以生成不同的 SSH 密钥,例如 Ed25519 密钥,Mozilla、GitHub 和其他信誉良好的各方认为这是最推荐的选项。请注意,PuTTY 将它们归类为 EdDSA 密钥,这是更通用的术语;您需要 255 或 256 位选项。
您还可以在服务器端进行调整以包含PubkeyAcceptedKeyTypes(如果这样做,您还应该包含所有其他选项)。但是,这意味着您使用的是不安全的 SHA-1 签名,因此您可能需要选择其他选项之一。/etc/ssh/sshd_configssh-rsassh -Q sig
从评论来看,但不够明显,在与安全性进行权衡之前,最好检查其他简单方法是否有效。
在服务器端进行任何更改之前,请尝试将 putty 更新到最新版本。就我而言,0.78 版本解决了这个问题,没有对服务器端和密钥进行任何更改。
我在Putty ChangeLog 文件中找不到真正的原因。
| 归档时间: |
|
| 查看次数: |
69521 次 |
| 最近记录: |