一、查看OpenSSH版本号
要查看OpenSSH的版本号,最简单的方法就是直接运行ssh -V
命令。
ssh -V
该命令会显示OpenSSH的版本信息,例如:
OpenSSH_7.9p1, OpenSSL 1.1.1a 20 Nov 2018
该输出表示OpenSSH的版本号为7.9p1,使用了OpenSSL 1.1.1a库。
二、查看OpenSSH编译信息
除了版本号,OpenSSH还提供了能够显示更详细信息的命令ssh -G
。
ssh -G
该命令会显示OpenSSH的编译信息,例如:
cipher=aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
mac=umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
protocol=2.0
kex=curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
identityfile ~/.ssh/id_rsa
...
输出中列出了支持的加密算法、MAC算法、密钥交换算法以及其他各种编译时配置信息。
三、查看OpenSSH的配置文件路径
在OpenSSH安装后,系统默认使用/etc/ssh/sshd_config和/etc/ssh/ssh_config作为全局的配置文件。
不过,也可以在编译时指定其他的配置文件路径。可以通过运行命令ssh -F
来查看当前系统使用的全局配置文件:
ssh -F /dev/null -G
其中参数-F /dev/null
表示使用一个不存在的文件做为配置文件,这样可以避免使用系统默认的配置文件,然后通过-G
参数来输出当前使用的配置文件路径。
四、查看OpenSSH的守护进程版本号
OpenSSH守护进程是sshd,可以通过运行命令sshd -v
来查看其版本号:
sshd -v
该命令会输出如下信息:
OpenSSH_7.9p1, OpenSSL 1.1.1a 20 Nov 2018
debug1: sshd version number: 7.9p1
...
其中第二行显示的就是sshd的版本号。
五、查看OpenSSH的客户端库版本号
OpenSSH的客户端库可以嵌入到其他应用程序中使用,可以通过在应用程序中输出libssh的版本号来查看OpenSSH客户端库的版本信息。
#include <libssh/libssh.h>
...
printf("libssh version: %s\n", ssh_version(0));
运行该程序可以得到OpenSSH客户端库的版本号:
libssh version: SSH-2.0-libssh-0.8.4
六、结语
本文介绍了多个查看OpenSSH版本号、配置信息的方法。在实际工作中,我们需要根据具体情况选择不同的方法来查看OpenSSH的信息。