您好,登錄后才能下訂單哦!
今天小編給大家分享一下Linux如何檢查SSH版本的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
檢查方法:1、用文本編輯器打開“/etc/ssh/sshd_config”,查看“Protocol”字段,若顯示“Protocol 2”就代表服務器只支持SSH2,若顯示“Protocol 1”就代表服務器同時支持兩者。2、強制ssh使用特定的SSH協議,通過查看SSH服務器的響應來判斷。3、使用scanssh工具,語法“sudo scanssh -s ssh ip地址”。
安全Shell(SSH)通過加密的安全通信通道來遠程登錄或者遠程執行命令。SSH被設計來替代不安全的明文協議,如telnet、rsh和rlogin。SSH提供了大量需要的特性,如認證、加密、數據完整性、授權和轉發/通道。
SSH存在1和2兩個版本(SSH1和SSH2)。這兩者之間有什么不同?還有該怎么在Linux上檢查SSH協議的版本?
SSH1 vs. SSH2
SSH協議規范存在一些小版本的差異,但是有兩個主要的大版本:SSH1 (版本號 1.XX) 和 SSH2 (版本號 2.00)。
事實上,SSH1和SSH2是兩個完全不同互不兼容的協議。SSH2明顯地提升了SSH1中的很多方面。首先,SSH是宏設計,幾個不同的功能(如:認證、傳輸、連接)被打包進一個單一的協議,SSH2帶來了比SSH1更強大的安全特性,如基于MAC的完整性檢查,靈活的會話密鑰更新、充分協商的加密算法、公鑰證書等等。
SSH2由IETF標準化,且它的實現在業界被廣泛部署和接受。由于SSH2對于SSH1的流行和加密優勢,許多產品對SSH1放棄了支持。在寫這篇文章的時候,OpenSSH仍舊支持SSH1和SSH2,然而在所有的現代Linux發行版中,OpenSSH服務器默認禁用了SSH1。
Linux檢查SSH版本
方法一
如果你想檢查本地OpenSSH服務器支持的SSH協議版本,你可以參考/etc/ssh/sshd_config這個文件。用文本編輯器打開/etc/ssh/sshd_config,并且查看"Protocol"字段。
如果如下顯示,就代表服務器只支持SSH2。
Protocol 2
如果如下顯示,就代表服務器同時支持SSH1和SSH2。
Protocol 1
方法二
如果因為OpenSSH服務其運行在遠端服務器上而你不能訪問/etc/ssh/sshd_config。你可以使用叫ssh的SSH客戶端來檢查支持的協議。具體說來,就是強制ssh使用特定的SSH協議,接著我么查看SSH服務器的響應。
下面的命令強制ssh使用SSH1:
ssh -1 user@remote_server
下面的命令強制ssh使用SSH2:
ssh -2 user@remote_server
如果遠程SSH服務器只支持SSH2,那么第一個帶“-1”的選項就會出現像下面的錯誤信息:
Protocol major versions differ: 1 vs. 2
如果SSH服務器同時支持SSH1和SSH2,那么兩個命令都有效。
方法三
另一個檢查版本的方法是運行SSH掃描工具,叫做scanssh。這個命令行工具在你想要檢查一組IP地址或者整個本地網絡來升級SSH1兼容的SSH服務器時很有用。
下面是基本的SSH版本掃描語法。
sudo scanssh -s ssh -n [ports] [IP addresses or CIDR prefix]
"-n"選項可以指定掃描的SSH端口。你可以用都好分隔來掃描多個端口,不帶這個選項,scanssh會默認掃描22端口。
使用下面的命令來發現192.168.1.0/24本地網絡中的SSH服務器,并檢查SSH協議v版本:
sudo scan -s ssh 192.168.1.0/24
如果scanssh為特定IP地址報告“SSH-1.XX-XXXX”,這暗示著相關的SSH服務器支持的最低版本是SSH1.如果遠程服務器只支持SSH2,scanssh會顯示“SSH-2.0-XXXX”。
以上就是“Linux如何檢查SSH版本”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。