西河刘卡车医 发表于 2024-7-18 15:27:24

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

SecureCRT使用SSH登录Ubuntu服务器报错:Key exchange failed
原因:
ssh客户端与服务器的公钥协商失败,SecureCRT客户端所指定的秘钥交换算法(KexAlgorithms ),不在服务端支持范围内。可能是服务端的sshd版本比力高、默认配置不支持一些比力旧的秘钥交换算法。
SecureCRT 7.0 仅支持下面几种:
https://i-blog.csdnimg.cn/direct/0179cf8a7e644c3a9bd813e4ed9347e4.png

解决方案:
方案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



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: SecureCRT使用SSH登录服务器报错:Key exchange failed