ssh 公鑰私鑰認證原理

2021-08-02 10:15:20 字數 1063 閱讀 2037

通常,通過ssh登入遠端伺服器時,使用密碼認證,分別輸入使用者名稱和密碼,兩者滿足一定規則就可以登入。但是密碼認證有以下的缺點:

而使用公鑰認證則可以解決上述問題。

所謂的公鑰認證,實際上是使用一對加密字串,乙個稱為公鑰(public key),任何人都可以看到其內容,用於加密;另乙個稱為金鑰(private key),只有擁有者才能看到,用於解密。通過公鑰加密過的密文使用金鑰可以輕鬆解密,但根據公鑰來猜測金鑰卻十分困難。

ssh 的公鑰認證就是使用了這一特性。伺服器和客戶端都各自擁有自己的公鑰和金鑰。為了說明方便,以下將使用這些符號。

ac客戶端公鑰

bc客戶端金鑰

as伺服器公鑰

bs伺服器金鑰

在認證之前,客戶端需要通過某種方法將公鑰 ac 登入到伺服器上。

認證過程分為兩個步驟。

會話金鑰(session key)生成

客戶端請求連線伺服器,伺服器將 as 傳送給客戶端。

伺服器生成會話id(session id),設為 p,傳送給客戶端。

客戶端生成會話金鑰(session key),設為 q,並計算 r = p xor q。

客戶端將 r 用 as 進行加密,結果傳送給伺服器。

伺服器用 bs 進行解密,獲得 r。

伺服器進行 r xor p 的運算,獲得 q。

至此伺服器和客戶端都知道了會話金鑰q,以後的傳輸都將被 q 加密。

認證 伺服器生成隨機數 x,並用 ac 加密後生成結果 s(x),傳送給客戶端

客戶端使用 bc 解密 s(x) 得到 x

客戶端計算 q + x 的 md5 值 n(q+x),q為上一步得到的會話金鑰

伺服器計算 q + x 的 md5 值 m(q+x)

客戶端將 n(q+x) 傳送給伺服器

伺服器比較 m(q+x) 和 n(q+x),兩者相同則認證成功

ssh 公鑰私鑰認證原理

通常,通過ssh登入遠端伺服器時,使用密碼認證,分別輸入使用者名稱和密碼,兩者滿足一定規則就可以登入。但是密碼認證有以下的缺點 而使用公鑰認證則可以解決上述問題。所謂的公鑰認證,實際上是使用一對加密字串,乙個稱為公鑰 public key 任何人都可以看到其內容,用於加密 另乙個稱為金鑰 priva...

ssh簡介原理 公鑰私鑰

簡單說,ssh是一種網路協議,用於計算機之間的加密登入。最早的時候,網際網路通訊都是明文通訊,一旦被截獲,內容就暴露無疑。1995年,芬蘭學者tatu ylonen設計了ssh協議,將登入資訊全部加密,成為網際網路安全的乙個基本解決方案,迅速在全世界獲得推 廣,目前已經成為linux系統的標準配置。...

SSH原理和公鑰認證

建立過程 ssh利用rsa加密的不對稱性,在兩者之間分享一把只有他們兩個人才知道的通訊金鑰,通過這個通訊金鑰,他們再進行之後的通訊。客戶端接收服務端公鑰,把自己產生的通訊金鑰加密發給服務端,服務端用私有金鑰解密,此時兩者採用對稱金鑰通訊 金鑰和演算法協商階段 具體步驟如下 1 伺服器端和客戶端分別傳...