HCRM博客

Xshell连接CentOS遇Algorithm negotiation fail?三分钟轻松解决

Xshell登录CentOS提示Algorithm negotiation fail?别慌,三分钟搞定!

Xshell连接CentOS遇Algorithm negotiation fail?三分钟轻松解决-图1

Xshell登录CentOS提示Algorithm negotiation fail修复

Xshell连接CentOS遇Algorithm negotiation fail?三分钟轻松解决-图2

刚泡好咖啡,准备远程连服务器,Xshell却啪地弹出一行红字:Algorithm negotiation fail。屏幕瞬间像拉闸,心跳跟着断电。别砸键盘,这毛病年年有人踩,修起来比泡面还快。

先弄清它到底在抱怨什么

SSH握手阶段,客户端与服务端要挑一个两边都认的算法套餐。Xshell默认把老旧算法踢出名单,CentOS如果守着老算法不放,两边就谈崩,于是抛出Algorithm negotiation fail。简单说,语言不通,不是谁坏,只是频道没对上。

一分钟定位:到底是谁“挑食”

打开Xshell会话属性→SSH→安全→算法栏,右侧一排复选框,把加密、密钥交换、MAC、主机密钥四项全点开。如果看到diffie-hellman-group1-sha1、3des-cbc、ssh-rsa等选项被勾掉,而服务器sshd_config里恰好只认这些老家伙,谈判必崩。反过来,服务器若只开了chacha20-poly1305@openssh.com,Xshell老版本不支持,也会翻车。先确认版本:Xshell 7以上自带新算法,CentOS 6默认配置偏老,最容易撞车。

最省事:让服务器说新话

Xshell连接CentOS遇Algorithm negotiation fail?三分钟轻松解决-图3

有root权限就改服务端,一劳永逸。登录机房本地终端,或者找同事代敲一行:

vi /etc/ssh/sshd_config

找到三行,如果被注释就解开,没有就追加:

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com

KexAlgorithms curve25519-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,diffie-hellman-group14-sha256

HostKeyAlgorithms ssh-ed25519,ecdsa-sha2-nistp256,rsa-sha2-512,rsa-sha2-256

保存后重启sshd:

systemctl restart sshd

再回工位用Xshell连,世界瞬间安静。此法把CentOS拉到现代加密水平,顺带提升安全分。

没权限?改客户端,曲线救国

服务器动不了,就把Xshell拉回老频道。会话属性→SSH→安全→加密、Kex、MAC、主机密钥四项,全部勾选“显示所有算法”,把diffie-hellman-group14-sha256、ssh-rsa、3des-cbc这些老家伙重新打钩。确定保存,重新连接,提示消失。虽然算法旧点,但临时救急够用;事后记得催运维升级服务端。

中间版本冲突?升级就能躺赢

Xshell 6及以下默认不带rsa-sha2-256/512,遇上CentOS 8/9默认禁用ssh-rsa,就会谈崩。直接官网下Xshell 7,安装包一分钟搞定,新会话默认算法齐全,连老系统新系统都不挑。顺带把OpenSSH for Windows也升到8.8以上,防止同一台电脑别的工具也踩坑。

多用户场景:批量改配置不踩雷

公司几十台服务器,一台台改配置会疯。用Ansible一行剧本:

ansible all -m lineinfile -a "path=/etc/ssh/sshd_config regexp='^Ciphers' line='Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com' backup=yes" --become

把KexAlgorithms、HostKeyAlgorithms同样刷进去,最后批量重启sshd,十分钟收工。记得先测开发环境,别一把梭哈把生产搞炸。

云主机被锁?控制台救援通道

部分云厂商默认把串口控制台映射成网页终端,算法再旧也能进。登陆云控制台→找到“远程连接”或“VNC”,进去改完sshd_config,再切回Xshell,省得提工单排队。

常见作死现场,提前避雷

1. 把/etc/ssh/sshconfig和/etc/ssh/sshdconfig搞混,客户端配置改破天也救不了。

2. 改完忘记放行防火墙,新端口没开,以为算法又挂。

3. 手抖删掉HostKey,服务器指纹变,Xshell弹出WARNING,吓得以为又被黑。

4. 为了兼容把group1-sha1重新打开,结果被内网扫描器一秒爆破,得不偿失。

Algorithm negotiation fail就是算法对不上频道,要么让服务器说新话,要么让客户端懂老话,再不行就两边一起升级。三分钟排完,咖啡还没凉。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/42013.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~