报错如下:
Key exchange failed.
No compatible key exchange method. The server supports these methods: sntrup761x25519-sha512@openssh.com,curve25519-sha256,ecdh-sha2-nistp256,diffie-hellman-group14-sha256
No compatible hostkey. The server supports these methods: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
1. 修改SecureCRT设置
打开SecureCRT。
选择会话:
找到并右键点击你的会话,选择“属性”。
进入SSH2选项卡:
选择“SSH2”选项卡。
设置密钥交换算法:
在“密钥交换算法”部分,确保选中以下算法:
diffie-hellman-group-exchange-sha1
diffie-hellman-group14-sha1
diffie-hellman-group1-sha1(如果必要)
保存设置:
点击“确定”以保存更改。
2. 测试连接
重新尝试连接到服务器,查看问题是否解决。
3. 服务器配置(如果有权限)
如果你有权限,可以考虑在服务器的sshd_config文件中添加或启用更强的密钥交换算法:
KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1
然后重启SSH服务。
sudo systemctl restart sshd
4. 登录连接还报错 检查日志
查看服务器的SSH日志(通常在/var/log/auth.log或/var/log/secure)以获取更详细的错误信息。
Unable to negotiate with 192.168.2.32 port 29059: no matching host key type found. Their offer: ssh-dss,ssh-rsa,x509v3-sign-rsa,x509v3-sign-dss [preauth]
5. 再次修改服务器配置(如果有权限)
如果你有权限,可以考虑在服务器的sshd_config文件中添加或启用更强的密钥交换算法:
HostKeyAlgorithms ssh-rsa,ssh-dss
然后重启SSH服务:
sudo systemctl restart sshd