最近安装了openbsd6.7版本,安装完后通过xshell连接,弹出一个错误对话框,提示“服务器发送了一个意外的数据包。received:3,expected:20”的错误信息。
检查sshd服务是正常开启的,防火墙也没阻止,奇怪了,我又重新安装了openbsd6.6,没有这个问题,难道是新版本有bug?号称是最安全的操作系统的openbsd不太可能吧。于是网上找答案,发现是新版的sshd可能与xshell存在兼容性问题。因为我在其他unix系统下通过ssh是可以正常连上的。
解决方法:在/etc/ssh/sshd_config最后增加以下一行
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1
然后重启sshd服务或者重载服务配置文件
rcctl reload sshd
问题解决。