SSH 版本 RHL 7.7

SSH 版本 RHL 7.7

我收到了一份渗透测试报告,其中需要升级的一项是 Red Hat Linux 7.7 服务器上的 OpenSSH 和 OpenSSL。报告中提到 SSH 的版本是:

ssh -v
OpenSSH_6.1p1, OpenSSL 1.0.1q 3 Dec 2015

当我检查时如下:

sshd -V

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

或者

yum list installed openssh\*

已加载插件:product-id、rhnplugin、search-disabled-repos、subscription-manager

该系统正在从 RHN Classic 或 Red Hat Satellite 接收更新。

已安装的软件包

openssh.x86_64                                                                              7.4p1-21.el7                                                                      @prd-rhel-7

openssh-clients.x86_64                                                                     7.4p1-21.el7                                                                      @prd-rhel-7

openssh-server.x86_64                                                                      7.4p1-21.el7                                                                      @prd-rhel-7

所以我有点困惑我的服务器上的 OpenSSH 版本实际上是哪个。

有人可以解释一下哪个是我的版本,是返回的版本ssh -v还是返回的版本sshd -v

谢谢你!

答案1

在我检查的示例 RHEL 7.7 主机上,ssh -V两者sshd -V都返回相同的版本OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

如果您ssh -V在目标服务器上运行时得到不同的结果,那么我会说要么您的路径中有额外的 SSH 二进制文件(which ssh将显示它们的位置),要么有人替换了原始客户端二进制文件(rpm -V openssh-clients将显示文件是否与 RPM 数据库认为它们应该是什么相符)。

否则,我会要求澄清如何确定 SSH 的版本。

答案2

如果您运行它,ssh -v它将显示您用于连接其他机器的 ssh 命令的版本。

另一方面,sshd是允许连接到您的机器的守护进程。

您可以看到每个命令的库是不同的:

$ which ssh
/usr/bin/ssh

和:

$ which sshd
/usr/sbin/sshd

另外,您可以检查服务正在运行的命令sshd

$ systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
[...]

$ cat /usr/lib/systemd/system/sshd.service
[...]
ExecStart=/usr/sbin/sshd -D $OPTIONS
[...]

您可以尝试列出所有软件包,并查看每个openssh软件包的版本。

$ rpm -qa | grep ssh
openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64
libssh2-1.8.0-3.el7.x86_64

如果您有不同的版本,您可以尝试更新它:

$ sudo yum update openssh openssh-server openssh-clients

相关内容