SSH協議(1) 工作原理及過程

2021-08-07 12:25:45 字數 1750 閱讀 2642

ssh全稱是secure shell,ssh協議是基於應用層的協議,為遠端登入會話和其他網路服務提供安全性的協議。ssh使用最多的是遠端登入和傳輸檔案,實現此功能的傳統協議都不安全(ftp,telnet等),因為它們使用明文傳輸資料。而ssh在傳輸過程中的資料是加密的,安全性更高。

工作原理

ssh協議是基於非對稱加密方法的,伺服器和客戶端都會生成自己的公鑰和私鑰。

(1) 伺服器建立公鑰。若遠端伺服器是新系統,會在/etc/ssh目錄下生成乙個名為ssh_host_ecdsa_key.pub的公鑰,同時生成乙個名為ssh_host_ecdsa_key的私鑰,這一對就是遠端伺服器的公鑰與私鑰。之後每回啟動sshd服務的時候,系統會自動在此路徑下查詢公鑰。

遠端伺服器的公鑰:

(2) 客戶端請求連線。linux或者mac系統可以直接通過自帶的shell連線,指令為ssh user@host,如果客戶端和伺服器是相同的使用者,則可以省去user,直接使用ssh host。

(3) 伺服器傳送公鑰給客戶端。伺服器接到請求後,把公鑰傳給客戶端使用。

(4) 客戶端記錄伺服器公鑰並計算自己的公私鑰。客戶端將伺服器傳來的公鑰記錄在~/.ssh/known_hosts中,若是已經記錄有該伺服器公鑰,則比對是否一致,一致後就計算客戶端自己的公私鑰。

客戶端儲存的伺服器公鑰:

(5) 客戶端傳送自己的公鑰給伺服器。客戶端將自己的公鑰傳送給伺服器,這樣伺服器端就有客戶端公鑰+伺服器自己私鑰,客戶端就有伺服器公鑰+客戶端自己私鑰,組成了非對稱加密系統。

(6) 開始雙向加解密。伺服器傳送資料:用客戶端公鑰加密,客戶端收到資料後用自己私鑰解密。客戶端傳送資料:用伺服器公鑰加密,伺服器收到資料後用自己私鑰解密。

工作過程

(1) 版本號協商階段,ssh目前包括 ssh1和ssh2兩個版本, 雙方通過版本協商確定使用的版本

(2) 金鑰和演算法協商階段,ssh支援多種加密演算法, 雙方根據本端和對端支援的演算法,協商出最終使用的演算法

(3) 認證階段,ssh客戶端向伺服器端發起認證請求, 伺服器端對客戶端進行認證

(4) 會話請求階段, 認證通過後,客戶端向伺服器端傳送會話請求

(5) 互動會話階段 ,會話請求通過後,伺服器端和客戶端進行資訊的互動

認證方式

認證方式主要有兩種:密碼認證和公鑰認證。

密碼認證:輸入賬號密碼進行認證。

公鑰認證:需要客戶端生成一對公私鑰,使用ssh-keygen生成,儲存在~/.ssh路徑下,然後使用指令ssh-copy-id user@host傳到伺服器端,以後再登入認證的時候,客戶端自動傳送公鑰給伺服器,服務對比一致則通過認證,不要繁瑣地輸入密碼了。

客戶端生成的登入公鑰:

伺服器端接收的客戶端登入公鑰:

這一篇文章主要記錄ssh協議的工作原理及過程,接下來還會寫一篇ssh協議涉及的安全威脅及解決辦法。

DHCP(動態主機配置協議)工作原理及過程

dhcp協議採用udp作為傳輸協議,客戶端主機傳送請求訊息到dhcp伺服器的67號埠,dhcp伺服器回應應答訊息給客戶端主機的68號埠。詳細的互動過程如下圖 於網路 1 客戶端 利用廣播資料報傳送搜尋dhcp伺服器 若客戶端網路設定使用dhcp協議取得ip,則當客戶端開機或者是重新啟動網絡卡時,客戶...

FTP協議工作原理及總結

1.ftp協議 什麼是ftp呢?ftp 是 tcp ip 協議組中的協議之一,是英文file transfer protocol的縮寫。2.ftp使用者授權 1 使用者授權 要連上 ftp 伺服器 即 登陸 必須要有該 ftp 伺服器授權的帳號,也就是說你只有在有了乙個使用者標識和乙個口令後才能登陸...

RIP路由協議及工作原理

rip routing information protocol,路由資訊協議 是應用較早 使用較普遍的內部閘道器協議 interior gateway protocol,igp 適用於小型同類網路的乙個自治系統 as 內的路由資訊的傳遞。rip協議是基於距離向量演算法 distance vecto...