ssh是系统的安全壳体合同,已发展了好几个版本,这么你晓得你使用的ssh是那个版本吗?下边小编就教你查看LinUx系统中ssh版本的方式,感兴趣的同学不妨来了解下。

安全Shell(SSH)通过加密的安全通讯通道来远程登陆或则远程执行命令。SSH被设计来取代不安全的明文合同,如telnet、rsh和rlogin。SSH提供了大量须要的特点,如认证、加密、数据完整性、授权和转发/通道。

SSH1vs.SSH2

SSH合同规范存在一些小版本的差别,而且有两个主要的大版本:SSH1(版本号1.XX)和SSH2(版本号2.00)。

事实上,SSH1和SSH2是两个完全不同互不兼容的合同。SSH2显著地提高了SSH1中的好多方面。首先linux查看qt版本命令,SSH是宏设计,几个不同的功能(如:认证、传输、连接)被打包进一个单一的合同,SSH2带来了比SSH1更强悍的安全特点,如基于MAC的完整性检测,灵活的会话秘钥更新、充分协商的加密算法、公钥证书等等。

linux查看qt版本命令_linux查看qt版本命令_linux查看qt版本命令

SSH2由IETF标准化,且它的实现在业界被广泛布署和接受。因为SSH2对于SSH1的流行和加密优势,许多产品对SSH1舍弃了支持。在写这篇文章的时侯,OpenSSH仍然支持SSH1和SSH2,但是在所有的现代LinUx发行版中linux mint,OpenSSH服务器默认禁用了SSH1。

检测支持的SSH合同版本

方式一

假如你想检测本地OpenSSH服务器支持的SSH合同版本,你可以参考/etc/ssh/sshd_config这个文件。用文本编辑器打开/etc/ssh/sshd_config,但是查看&ldqUo;Protocol&rdqUo;主键。

倘若如下显示,就代表服务器只支持SSH2。

Protocol2

倘若如下显示,就代表服务器同时支持SSH1和SSH2。

Protocol1,2

方式二

假如由于OpenSSH服务其运行在远端服务器上而你不能访问/etc/ssh/sshd_config。你可以使用叫ssh的SSH顾客端来检测支持的合同。具体说来,就是强制ssh使用特定的SSH合同,接着我么查看SSH服务器的响应。

linux查看qt版本命令_linux查看qt版本命令_linux查看qt版本命令

下边的命令强制ssh使用SSH1:

$ssh-1User@remote_server

下边的命令强制ssh使用SSH2:

$ssh-2User@remote_server

假如远程SSH服务器只支持SSH2,这么第一个带&ldqUo;-1&rdqUo;的选项都会出现像下边的错误信息:

Protocolmajorversionsdiffer:1vs.2

假如SSH服务器同时支持SSH1和SSH2,这么两个命令都有效。

方式三

另一个检测版本的方式是运行SSH扫描工具,称作scanssh。这个命令行工具在你想要检测一组IP地址或则整个本地网路来升级SSH1兼容的SSH服务器时很有用。

下边是基本的SSH版本扫描句型。

linux查看qt版本命令_linux查看qt版本命令_linux查看qt版本命令

$sUdoscanssh-sssh-n[ports][IPaddressesorCIDRprefix]

&ldqUo;-n&rdqUo;选项可以指定扫描的SSH端口。你可以用都好分隔来扫描多个端口linux查看qt版本命令,不带这个选项,scanssh会默认扫描22端口。

使用下边的命令来发觉192.168.1.1.0/24本地网路中的SSH服务器linux虚拟主机,并检测SSH合同v版本:

$sUdoscan-sssh192.168.1.1.0/24

假如scanssh为特定IP地址报告&ldqUo;SSH-1.XX-XXXX&rdqUo;,这暗示着相关的SSH服务器支持的最低版本是SSH1.假如远程服务器只支持SSH2,scanssh会显示&ldqUo;SSH-2.0-XXXX&rdqUo;。

里面就是LinUx查看ssh版本的方式介绍了,由于不同的版本支持的句型略有不同,有些命令会难以使用,致使命令失效。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复