如何修复macOS ssh上的“Unable to negotiate withport 22: no matching host key type found ”

实战问题

新购置一台苹果笔记本,ssh上一台服务器时提示下面错误

“Unable to negotiate withport 22: no matching host key type found ”

解放方案

为了成功连接,OpenSSH 的每个参数必须至少有一个相互支持的选择。如果客户端和服务器未能就一组相互参数达成一致,则连接将失败。在这种情况下,客户端和服务器无法就主机密钥算法类型达成一致。服务器提供了 OpenSSH 支持的 ssh-rsa 或 ssh-dss,但出于安全考虑不再默认启用。

自 2021 年 8 月 20 日发布的 OpenSSH 8.8 起,ssh-rsa 签名方案已被弃用。

在SSH协议中,“ssh-rsa”签名方案将SHA-1哈希算法与RSA公钥算法结合使用。现在可以以不到 5 万美元的价格对 SHA-1 算法执行选择前缀攻击。

如果你有服务器的控制权,你应该升级你的OpenSSH版本;但是,如果您需要立即访问服务器,有几种方法可以解决这个问题…

最简单的解决方案

步骤1

重新尝试 SSH 连接,将以下内容添加到命令行中:
-oHostKeyAlgorithms=+ssh-rsa

ssh -oHostKeyAlgorithms=+ssh-rsa 用户名@ip地址

在这里插入图片描述
或者,您可以按照以下步骤使

猜你喜欢

转载自blog.csdn.net/iCloudEnd/article/details/131418569