你所理解的SSH遠程登錄原理是什麼?

軟件 Linux 波波說運維 2019-04-10

概述

平時工作基本都是用xshell直接連上服務器,但是這中間是通過什麼協議,又是什麼原理可能很多朋友就不太清楚了,下面針對下ssh方面做一個介紹和原理解析。


ssh基本概念

SSH(22端口)是Secure Shell Protocol的簡寫,由IETF網絡工作小組(Network Working Group)制定;在進行數據傳輸之前,SSH先對聯機數據包通過加密技術進行加密處理,加密後在進行數據傳輸。確保了傳遞的數據安全。

SSH是專為遠程登錄會話和其他網絡服務提供的安全性協議。利用SSH協議可以有效的防止遠程管理過程中的信息洩露問題,在當前的生產環境運維工作中,絕大多數企業普通採用SSH協議服務來代替傳統的不安全的遠程聯機服務軟件,如telnet(23端口,非加密的)等。

相比較於telnet,ssh可以更好的應對中間人攻擊,更加安全,所以現在基本都是通過ssh協議去操作服務器的。

你所理解的SSH遠程登錄原理是什麼?

SSH遠程登錄原理

使用ssh主要有兩種登錄方式:

1、密碼口令登錄

你所理解的SSH遠程登錄原理是什麼?

像上面的方式就是基於密碼口令驗證去做登錄的,通過密碼進行登錄,主要流程為:

1、客戶端連接上服務器之後,服務器把自己的公鑰傳給客戶端

2、客戶端輸入服務器密碼通過公鑰加密之後傳給服務器

3、服務器根據自己的私鑰解密登錄密碼,如果正確那麼就讓客戶端登錄

2、公鑰登錄密碼口令登錄

你所理解的SSH遠程登錄原理是什麼?

公鑰登錄相對會比較少,之所以用公鑰登錄是為了解決每次登錄服務器都要輸入密碼的問題,這裡比較流行使用RSA加密方案,主要流程包含:

1、客戶端生成RSA公鑰和私鑰

2、客戶端將自己的公鑰存放到服務器

3、客戶端請求連接服務器,服務器將一個隨機字符串發送給客戶端

4、客戶端根據自己的私鑰加密這個隨機字符串之後再發送給服務器

5、服務器接受到加密後的字符串之後用公鑰解密,如果正確就讓客戶端登錄,否則拒絕


對於linux系統管理員,理解清ssh登錄原理還是很有必要的,後面再介紹下怎麼做服務器之間的ssh免密碼登錄了,感興趣的朋友可以關注下!!

你所理解的SSH遠程登錄原理是什麼?

相關推薦

推薦中...