尝试连接服务器时算法协商失败

尝试连接服务器时算法协商失败

我安装openssh-serverUbuntu server 16.04,并/etc/ssh/ssh_config添加了:

MaxAuthTries 3
PasswordAuthentication YES

然后重启 ssh 服务器。当我尝试从另一台电脑使用 ssh 连接时,我收到一条消息 Algorithm Negotiation failed

回到服务器,当我运行时systemctl status ssh出现此错误

Unable to negotiate with 192.168.0.132 port 63428: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

我编辑/etc/ssh/sshd_config添加我添加行

KexAlgorithms=+diffie-hellman-group1-sha1

现在我得到了一个不同的错误,当我运行systemctl status ssh

Unable to negotiate with 192.168.0.132 port 63428: no matching key exchange method found. Their offer: aes128-cbc,3des-cbc, blowfish-cbc,cast128-cbc,twofish-cbc,arcfour [preauth]

答案1

您正在从某个非常旧的 SSH 客户端连接到新系统(Ubuntu 16.04),该客户端不支持任何现代算法,这就是连接失败的原因。您确实应该更新您的客户端。

或者继续启用目前可能不安全的过时协议。使用

KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc

你应该能够连接。

答案2

将以下代码添加到文件:/etc/ssh/sshd_config

KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc

现在重启服务

相关内容