MacOS:无法与0.0.0.0端口22协商:找不到匹配的密码

时间:2020-02-23 14:45:04  来源:igfitidea点击:

Unable to negotiate with 0.0.0.0 port 22: no matching cipher found

在升级到macOS High Sierra 10.13.2后,使用SSH连接到设备时遇到以下问题?

Unable to negotiate with 0.0.0.0 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,[email protected]

如果您尝试连接到运行旧版SSH的旧系统或者网络设备,则这是预期的行为。

要变通解决此问题,您可以启用SSH客户端的旧密码。
为此,请按照以下简单步骤操作:

1.打开终端(转到>实用程序>终端)

2.使用具有提升权限的文本编辑器打开SSH客户端配置文件(此示例假设您使用的是Vim,还将提示您输入admin/root密码):

sudo vi /etc/ssh/ssh_config

3.找到"密码"行(应该在#38处),然后取消注释(删除#号):

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc

4.保存文件,您现在应该可以连接了。

额外:

您可能还会继续收到其他消息,例如:

no matching host key type found. Their offer: ssh-dss

在这种情况下,您可以尝试按建议添加" HostKeyAlgorithms",例如:

ssh -oHostKeyAlgorithms=+ssh-dss [email protected]