教程之家 > 操作系统 > Linux > 正文

SSH连接时出现“ssh algorithm negotiation failed”错误的原因和解决方法

2021-06-07 16:41  教程之家  媛媛  
字号:T|T

今天使用SSH Secure Shell Client连接一台新腾讯云服务器的SSH的时候出现:ssh algorithm negotiation failed错误,经网上查询解决了故障现象,特把解决方法记录下来以供后续出现同样的情况时参考。

 

 

错误原因:

这个问题是因为ssh客户端远程连接服务器之间的加密算法不一致导致的

解决办法:

使用其他终端(比如XSHELL、WINSCP等)登录服务器,修改ssh配置文件

1、编辑/etc/ssh/sshd_config 在配置文件最尾端添加以下信息

Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc

MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96

KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org

2、修改完毕后保存退出命令 :wq

3、重启ssh服务

CentOS 7命令:systemctl restart sshd.service

CentOS 6命令:service sshd restart

后续碰到的问题:

按照上面步骤1处理后,发现用SSH Secure Shell Client还是无法连接,提示同样的错误。再次vi /etc/ssh/ssdh_config,对比了原来最后一行Ciphers aes192-cbc,aes128-ctr,aes192-ctr跟后面加上去的内容不重复之处,于是把原来最后一行(Ciphers aes192-cbc,aes128-ctr,aes192-ctr)内容删除后,保存,重启SSHD后故障解决。

点击加载更多