为什么需要查看 OpenSSH 版本?
OpenSSH 是广泛使用的安全远程登录工具。了解当前安装的 OpenSSH 版本有助于:
- 确认是否受已知漏洞影响(如 CVE)
- 判断是否支持特定功能(如 Ed25519 密钥)
- 进行系统兼容性检查或升级规划
通用命令:查看 OpenSSH 客户端版本
在绝大多数类 Unix 系统(Linux、macOS 等)中,使用以下命令:
ssh -V
注意:该命令输出通常会打印到标准错误(stderr),因此你可能看不到回显,除非重定向。
如果终端无输出,可尝试:
ssh -V 2>&1
查看 OpenSSH 服务端版本
如果你运行了 SSH 服务(sshd),可通过以下方式查看服务端版本:
sshd -V
同样,由于输出到 stderr,建议使用:
sshd -V 2>&1 | head -n 1
或者通过连接本地 SSH 服务并查看 banner(无需登录):
ssh -v localhost 2>&1 | head -n 1
不同操作系统的具体示例
Ubuntu / Debian
ssh -V
# 输出示例:OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
CentOS / RHEL
rpm -q openssh
# 或
ssh -V
macOS
ssh -V
# 输出示例:OpenSSH_9.0p1, LibreSSL 3.3.6
Windows(启用 OpenSSH 客户端/服务端)
ssh -V
# 在 PowerShell 或 CMD 中运行
常见问题
Q:为什么 ssh -V 没有输出?
A:因为版本信息被输出到 stderr。请使用 ssh -V 2>&1 查看完整输出。
Q:能否通过包管理器查看版本?
A:可以。例如在 Ubuntu 上:apt list --installed | grep openssh;在 CentOS 上:yum list installed openssh。