SSH(Secure Shell)作為現代 Linux 系統遠程管理的核心協議,經歷了多個版本演進。了解當前系統運行的 SSH 版本,不僅關乎安全合規,更能避免協議不兼容導致的連線失敗。本文將系統整理三種查看 SSH 版本的實用方法,幫助運維人員快速掌握系統安全狀態。
SSH 協議主要分為兩個不兼容的大版本:SSH-1(版本號 1.x)與 SSH-2(版本號 2.0)。兩者在架構設計上差異巨大:SSH-1 將認證、傳輸、連接等功能打包在單一協議中,而 SSH-2 採用模組化設計,引入了基於 MAC 的完整性檢查、靈活的會話金鑰更新、可協商的加密演算法以及公開金鑰憑證等進階安全特性。由於 SSH-2 在安全性與擴展性上的顯著優勢,現代 Linux 發行版預設已停用 SSH-1 支援,OpenSSH 雖保留雙版本兼容,但生產環境強烈建議僅啟用 SSH-2。

最直接的方式是查看 OpenSSH 服務端配置文件 /etc/ssh/sshd_config 中的 Protocol 參數:
Protocol 2:僅支援 SSH-2(推薦配置)Protocol 1,2:同時支援 SSH-1 與 SSH-2(不安全,建議修改)編輯文件後需重啟 SSH 服務生效:systemctl restart sshd。
當無法直接訪問遠端服務器配置文件時,可利用 SSH 客戶端的 -1、-2 參數強制指定協議版本進行探測:
# 強制使用 SSH-1 連線
ssh -1 user@remote_server
# 強制使用 SSH-2 連線
ssh -2 user@remote_server
若遠端僅支援 SSH-2,執行第一條命令將返回 Protocol major versions differ: 1 vs. 2 錯誤;若兩條命令均成功,則表示雙版本共存。
針對網段級資產梳理,scanssh 能高效掃描指定 IP 範圍的 SSH 服務版本:
# 掃描 192.168.1.0/24 網段的 SSH 服務
sudo scanssh -s ssh 192.168.1.0/24
# 指定非標準端口(預設掃描 22 端口)
sudo scanssh -s ssh -n 22,2222 192.168.1.0/24
輸出結果中 SSH-1.99-OpenSSH 表示支援雙版本,SSH-2.0-OpenSSH 則為純 SSH-2 服務。此工具對大規模資產合規審計極具價值。

Protocol 2 並禁用 SSH-1scanssh 掃描內網資產,發現舊版本服務及時整改ssh -V 查看客戶端版本,確保雙端協議一致性掌握 SSH 版本檢查技巧,是構建安全遠程運維體系的基礎技能。建議將版本巡檢納入例行安全審計流程,從協議層面築牢防線。
Linux 自動化安裝神器 Cobbler 部署全流程:從安裝、DHCP/TFTP、導入鏡像到 Kickstart 無人值守
Linux 使用 du 與 df 指令尋找並清理大型檔案釋放磁碟空間
Linux 使用 S3QL 建立加密雲端檔案系統 (Amazon S3 / Google Cloud / OpenStack) 完整部署指南
Ubuntu GNOME 建立自訂應用程式啟動器:為 MATLAB 等無 .desktop 檔軟體加入選單與圖示
Ubuntu 14.04 安裝 Eclipse 與 PyDev 擴充套件完整圖文教學
Linux Vim 指令批次修改 SQL 檔案 ID 欄位:let + g/normal + 遞增變數實戰技巧