Home >> Blog >> SSH 通訊協定 – 安全的遠端登錄和文件傳輸協議

SSH 通訊協定 – 安全的遠端登錄和文件傳輸協議

這一篇文章內容是關於 SSH 協議。有關其背景的公司,請參閱SSH 通信安全。有關search engine optimization 搜尋引擎優化請參閱SEO,有關使用 Linux ssh 命令,請參閱ssh 命令用法。有關 SSH 客戶端、伺服器和技術資訊,請參閱SSH Secure Shell。

SSH 協議(也稱為 Secure Shell)是一種從一台電腦安全遠端登錄到另一台電腦的方法。它為強身份驗證提供了多種替代選項,並通過強加密保護了通信的安全性和完整性。它是不受保護的登錄協議(例如telnet、 rlogin)和不安全的文件傳輸方法(例如FTP)的安全替代方案。

SSH 協議的典型用途

該協議在企業網絡中用於:

  • 為用戶和自動化流程提供安全訪問
  • 交互式和自動文件傳輸
  • 發出遠端命令
  • 管理網絡基礎設施和其他關鍵任務系統組件。

SSH 協議是如何工作的

該協議工作在客戶端-伺服器模型中,這意味著連接是由連接到 SSH 伺服器的 SSH 客戶端建立的。SSH 客戶端驅動連接設置過程並使用公鑰加密來驗證 SSH 伺服器的身份。在設置階段之後,SSH 協議使用強對稱加密和散列算法來確保客戶端和伺服器之間交換的數據的隱私和完整性。

下圖顯示了安全外殼連接的簡化設置流程。

SSH 協議 – 安全的遠端登錄和文件傳輸

使用 SSH 密鑰進行強身份驗證

有幾個選項可用於用戶身份驗證。最常見的是密碼和公鑰認證。

公鑰身份驗證方法主要用於自動化,有時由系統管理員用於單點登錄。事實證明,它的使用範圍比我們預期的要廣泛得多。這個想法是擁有一個加密密鑰對 - 公鑰和私鑰 - 並在伺服器上配置公鑰以授權訪問並授予擁有私鑰副本的任何人訪問伺服器的權限。用於身份驗證的密鑰稱為SSH 密鑰。公鑰認證也用於智能卡,例如美國政府使用的 CAC 和 PIV 卡。

基於密鑰的身份驗證的主要用途是啟用安全自動化。自動安全外殼文件傳輸用於無縫集成應用程序以及自動化系統和配置管理。

我們發現大型組織擁有的 SSH 密鑰比他們想像的要多得多,管理 SSH 密鑰變得非常重要。SSH 密鑰像用戶名和密碼一樣授予訪問權限。它們需要類似的供應和終止過程。

在某些情況下,我們發現有數百萬個 SSH 密鑰授權訪問客戶環境中的生產伺服器,其中 90% 的密鑰實際上未被使用,代表已配置但從未終止的訪問。確保 SSH 使用的正確策略、流程和審計對於正確的身份和訪問管理至關重要。傳統的身份管理項目通過忽略 SSH 密鑰而忽略了多達 90% 的憑據。我們提供用於實施 SSH 密鑰管理的服務和工具。

SSH 提供強大的加密和完整性保護

在 SSH 客戶端和伺服器之間建立連接後,傳輸的數據將根據設置中協商的參數進行加密。在協商過程中,客戶端和伺服器就要使用的對稱加密算法達成一致,並生成將要使用的加密密鑰。通信雙方之間的流量受到行業標準的強加密算法(如 AES(高級加密標準))的保護,而 SSH 協議還包括一種使用標準哈希算法(如 SHA)確保傳輸數據完整性的機制-2(標準散列算法))。

IETF SSH 標準和詳細的技術文檔

核心協議

RFC 4251 - 安全外殼 (SSH) 協議架構

RFC 4253 - 安全外殼 (SSH) 傳輸層協議

RFC 4252 - 安全外殼 (SSH) 身份驗證協議

RFC 4254 - 安全外殼 (SSH) 連接協議

SFTP 文件傳輸協議

SFTP(SSH 文件傳輸協議)可能是當今使用最廣泛的安全文件傳輸協議。它通過 SSH 運行,目前記錄在

草稿-ietf-secsh-filexfer-02

公鑰文件格式

公鑰文件格式不是正式標準(它是一個資訊文檔),但許多實現都支持這種格式。

RFC 4716 - 安全外殼 (SSH) 公鑰文件格式