SSH 的原理與應用
本文檔介紹 SSH 的原理與應用,這是企業級非常實用的技術,希望能給大家帶來幫助。一、SSH簡介SSH是Secure Shell的縮寫,也叫做安全外殼協議。SSH的主要目的是實現安全遠程登錄。 二 、SSH工作原理SSH的安全性比較好,其對數據進行加密的方式主要有兩種:對稱加密(密鑰加密)和非對稱加密(公鑰加密)。 對稱加密指加密解密使用的是同一套祕鑰。Client端把密鑰加密後發送給Server端,Server用同一套密鑰解密。對稱加密的加密強度比較高,很難破解。但是,Client數量龐大,很難保證密鑰不洩漏。如果有一個Client端的密鑰洩漏,那麼整個系統的安全性就存在嚴重的漏洞。為了解決對稱加密的漏洞,於是就產生了非對稱加密。非對稱加密有兩個密鑰:“公鑰”和“私鑰”。公鑰加密後的密文,只能通過對應的私鑰進行解密。想從公鑰推理出私鑰幾乎不可能,所以非對稱加密的安全性比較高。 SSH的加密原理中,使用了RSA非對稱加密算法。整個過程是這樣的:(1)遠程主機收到用戶的登錄請求,把自己的公鑰發給用戶。(2)用戶使用這個公鑰,將登錄密碼加密後,發送回來。(3)遠程主機用自己的私鑰,解密登錄密碼,如果密碼正確,就同意用戶登錄。 三、中間人攻擊SSH之所以能夠保證安全,原因在於它採用了公鑰加密,這個過程本身是安全的,但是實際用的時候存在一個風險:如果有人截獲了登錄請求,然後冒充遠程主機,將偽造的公鑰發給用戶,那麼用戶很難辨別真偽。因為不像https協議,SSH協議的公鑰是沒有證書中心(CA)公證的,是自己簽發的。 如果攻擊者插在用戶與遠程主機之間(比如在公共的wifi區域),用偽造的公鑰,獲取用戶的登錄密碼。再用這個密碼登錄遠程主機,那麼SSH的安全機制就不存在了。這種風險就是著名的”中間人攻擊”(Man-in-the-middle attack)。那麼SSH協議是怎樣應對的呢? 四、口令登錄如果是第一次登錄遠程機,會出現以下提示: $ ssh user@hostThe authenticity of host ‘host (12.18.429.21)’ […]