在我的 Digital Ocean 服务器上,我将 OpenSSH 升级到了 8.6p1 版本。
user@server:~# ssh -V
OpenSSH_8.6p1, OpenSSL 1.1.1 11 Sep 2018
但是当我从远程客户端检查 OpenSSH 版本时,它是 7.6p1
➜ ssh -v aa.xxx.yy.zzz
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
我也/usr/bin/ssh
用 的符号链接更改了两者/usr/local/bin/ssh
。我重启了服务器很多次。
user@server:~# /usr/bin/ssh -V
OpenSSH_8.6p1, OpenSSL 1.1.1 11 Sep 2018
user@server:~# /usr/local/bin/ssh -V
OpenSSH_8.6p1, OpenSSL 1.1.1 11 Sep 2018
问题
- 如何解决这个问题?
- 这背后的原因是什么?
答案1
我认为您自己从源代码构建了 OpenSSH?
您需要更新您的 systemd 服务文件以加载新的二进制文件,该二进制文件sshd
用于服务器,该ssh
二进制文件是客户端。
要么替换/usr/sbin/sshd
为新的,要么编辑服务文件/lib/systemd/system/ssh.service
并将所有 sshd 路径设置为参考/usr/local/sbin/sshd