SecureCRT使用SSH登录服务器报错:Key exchange failed

sunny05296 2024-08-04 09:07:03 阅读 69

SecureCRT使用SSH登录Ubuntu服务器报错:Key exchange failed

原因:

ssh客户端与服务器的公钥协商失败,SecureCRT客户端所指定的秘钥交换算法(KexAlgorithms ),不在服务端支持范围内。可能是服务端的sshd版本比较高、默认配置不支持一些比较旧的秘钥交换算法。

SecureCRT 7.0 仅支持下面几种:

解决方案:

方案1)升级SecureCRT到更高的版本。

方案2)修改sshd服务端配置、指定秘钥交换算法列表。以 ubuntu 为例:

vi /etc/ssh/sshd_config

在配置文件末尾追加配置(如果已经存在、就修改 KexAlgorithms  配置)如下:

# for SecurCRT (version < 8) ssh client

KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diff

ie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1

或者配置:

KexAlgorithms +diffie-hellman-group-exchange-sha256,diffie-hellman-group1-sha1

重启服务:service sshd restart

方案3)如果无法本地登录管理服务端、只能ssh访问服务端的话,那可以试试用其他ssh客户端软件(支持服务端秘钥交换算法)先登录、修改服务端sshd配置文件、重启服务,然后就可以通过SecureCRT客户端登录了。

例如,如果安装了git,可以用git自带的 ssh.exe 登录、修改服务端配置。

cmd 命令行执行 ssh.exe 登录:

cd c:\Program Files\Git\usr\bin\

ssh.exe root@192.168.1.100

修改sshd配置后,重启sshd服务,然后就可以用SecureCRT SSH登录了。

另外,注意:如果是银河麒麟V10,配置会有差异,如果只是修改 KexAlgorithms 还不够,还是会报错:

Key exchange failed.

No compatible key exchange method. The server supports these methods: curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

No compatible MAC. The server supports these MACs: hmac-sha2-512,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-256-etm@openssh.com

后面仔细查看sshd配置文件,配置有些差异,配置有区别:

如果是银河麒麟V10系统,配置如下,需要注释掉原来的 Ciphers、MACs、KexAlgorithms 参数,然后再重新配置 KexAlgorithms 追加到末尾:

Protocol 2

LogLevel VERBOSE

PubkeyAuthentication yes

RSAAuthentication yes

IgnoreRhosts yes

RhostsRSAAuthentication no

HostbasedAuthentication no

PermitEmptyPasswords no

PermitUserEnvironment no

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

ClientAliveCountMax 0

Banner /etc/issue.net

#MACs hmac-sha2-512,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-256-etm@openssh.com

StrictModes yes

AllowTcpForwarding no

AllowAgentForwarding no

GatewayPorts no

PermitTunnel no

#KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

# national algorithm standards supports

#HostKeyAlgorithms sm2

# for SecurCRT (version < 8) ssh client

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。