OpenSSH 是广泛使用的安全 Shell(SSH)协议实现,用于远程登录和管理服务器。了解当前系统中安装的 OpenSSH 版本对于安全审计、漏洞排查和兼容性测试至关重要。
在绝大多数 Linux、macOS 或 Windows(启用 OpenSSH 客户端后)系统中,可通过以下命令查看 SSH 客户端版本:
ssh -V
注意:该命令输出通常会打印到 标准错误(stderr),因此即使看起来“没有输出”,也可能已成功执行。正确用法示例如下:
$ ssh -V
OpenSSH_9.2p1, OpenSSL 3.0.8 7 Feb 2023
ssh -V 2>&1 将错误输出重定向到标准输出以便捕获或记录。
若你拥有服务器权限,可检查 SSH 服务端(sshd)的版本:
/usr/sbin/sshd -V
同样,该命令也会将版本信息输出到 stderr。典型输出如下:
$ /usr/sbin/sshd -V
OpenSSH_8.9p1 Ubuntu-3ubuntu0.4, OpenSSL 3.0.2 15 Mar 2022
...
注意:运行此命令通常需要 root 权限,且不会启动服务,仅显示版本和配置摘要。
# Debian/Ubuntu
apt list --installed | grep openssh
# RHEL/CentOS/Fedora
rpm -q openssh openssh-server
ssh -v user@host 2>&1 | head -n 1
输出类似:OpenSSH_9.2p1, OpenSSL 3.0.8 7 Feb 2023(本地)和远程服务器的 banner 信息。
定期检查 OpenSSH 版本有助于及时发现已知漏洞(如 CVE-2023-38408)。建议: