解决 xshell5 远程 ssh 登录报错

工作中遇到的 xshell 里 ssh 远程登录的两个报错:

  • 报错 1:找不到匹配的 host key 算法
  • 报错 2:服务器发送了一个意外的数据包

这两个报错是由于 xshell5 及更低版本与高版本 openssh 不兼容导致的,两者间算法不匹配。

解决报错 1

打开 /etc/ssh/sshd_config 文件,添加下面内容到最后一行:

1
HostKeyAlgorithms +ssh-rsa

然后 systemctl restart sshd 重启下 sshd 服务即可。

解决报错 2

同样在 /etc/ssh/sshd_config 文件最后一行添加:

1
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1

然后重启 sshd 服务。