问题

问题

在我的 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. 如何解决这个问题?
  2. 这背后的原因是什么?

答案1

我认为您自己从源代码构建了 OpenSSH?

您需要更新您的 systemd 服务文件以加载新的二进制文件,该二进制文件sshd用于服务器,该ssh二进制文件是客户端。

要么替换/usr/sbin/sshd为新的,要么编辑服务文件/lib/systemd/system/ssh.service并将所有 sshd 路径设置为参考/usr/local/sbin/sshd

相关内容