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的完整性检测,灵活的会话秘钥更新、充分协商的加密算法、公钥证书等等。
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服务器的响应。
下边的命令强制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版本扫描句型。
$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版本的方式介绍了,由于不同的版本支持的句型略有不同,有些命令会难以使用,致使命令失效。