今天使用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后故障解决。