这些是关于如何在 Mac 上尝试 SSH 时修复“未找到匹配的密钥交换方法”错误消息的说明。
尝试使用 macOS 通过 SSH 连接到旧服务器时,您可能会收到一条 ssh 错误消息,内容如下:
无法与 123.123.123.123 端口 22 协商:找不到匹配的密钥交换方法。
报错:diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
为了成功连接,OpenSSH 必须为每个参数至少提供一个相互支持的选择。如果客户端和服务器无法就一组相互参数达成一致,则连接将失败。在这种情况下,客户端和服务器无法就密钥交换算法达成一致。服务器提供了 diffie-hellman-group1-sha1,它受 OpenSSH 支持,但默认情况下不再启用。它被认为很弱并且在 Logjam 攻击的理论范围内。
有几种方法可以解决这个问题......
最简单的解决方案步骤1
重新尝试 SSH 连接,将以下内容添加到命令行:
Reattempt your SSH connection, adding the following to your command line:
-oKexAlgorithms=+diffie-hellman-group1-sha1
ie. ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 username@123.123.123.123
或者,您可以按照以下步骤使该选项永久化...
永久解决方案
步骤1
打开一个新的终端窗口
第二步
输入sudo nano ~/.ssh/config,然后在出现提示时输入您的管理密码。
第三步
将以下行添加到配置文件中,将 123.123.123.123 替换为您要连接的服务器的 IP。
主机 123.123.123.123
KexAlgorithms +diffie-hellman-group1-sha1
第四步
按Control+X退出。当询问是否保存修改后的缓冲区时输入Y。
点击Return确认要写入的文件名。
第五步
现在您可以像往常一样通过 SSH 连接到您的服务器。
ssh 用户名@123.123.123.123
意思就是如何修复 Mac 上的“未找到匹配的密钥交换方法”的内容,希望对你有所帮助。