ssh 登入报错问题解决过程记录


Linux服务器我一直都是用的 ssh 远程管理的,最近遇到ssh不能远程登入问题,把问题和解决过程记录一下。

C:\Users\admin>ssh root@192.168.123.252
Unable to negotiate with 192.168.123.252 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

还没到用户密码验证,直接就报错了,错误提示:

no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

 先求助下度娘: 基本知道问题了,密匙交换算法不一致,根据错误提示,给出了支持的算法,选一种应该就可以吧。

ssh 登入报错问题解决过程记录_百度

加上 了 参数后

ssh root@192.168.123.252 -oKexAlgorithms=+diffie-hellman-group-exchange-sha1

ssh 登入报错问题解决过程记录_服务器_02

又报了新的错误了。no matching host key type found. Their offer: ssh-rsa,ssh-dss

同理 报错里也给出了参数选择,只要找出参数名加上,应该就可以。

ssh 登入报错问题解决过程记录_错误提示_03

继续  
ssh root@192.168.123.252 -oKexAlgorithms=+diffie-hellman-group-exchange-sha1   -oHostKeyAlgorithms=+ssh-rsa

ssh 登入报错问题解决过程记录_错误提示_04

又报了新的错误。 no matching MAC found. Their offer: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 

这个百度没找到,查了一下ssh命令帮助找到了。

ssh 登入报错问题解决过程记录_服务器_05

继续

ssh root@192.168.123.252 -oKexAlgorithms=+diffie-hellman-group-exchange-sha1   -oHostKeyAlgorithms=+ssh-rsa -m hmac-md5

ssh 登入报错问题解决过程记录_百度_06

成了,到了输密码状态了。   正确输入密码,也能正常登入了。

但是每次如果都要输这么一大串,挺难受的,看上面解决过程中有提到可以在本地的 config 文件里配置这些参数的。

ssh 登入报错问题解决过程记录_运维_07

可以参考一下 ssh  config 文件的具体说明。 我根据说明把这几项配置进去后,就正常能用了。

上一篇:一文了解 Conda(包教包会,不会留言)