ssh(22埠)是secure shell 的簡寫,由ietf(network working group)制定,在進行資料傳輸之前,ssh先對聯機資料報通過加密技術進行加密處理,加密後在進行資料傳輸。確保了傳遞的資料安全。
ssh 通訊過程一般分為5個階段(具體就不記錄了。。。):
1:版本協商階段
2:金鑰和演算法協商階段
注:協商成功後,伺服器端和客戶端利用dh交換(diffie-hellman exchange)演算法、主機金鑰對等引數,生成會話金鑰和會話id,對於後續傳輸的資料,兩端都會使用會話金鑰進行加密和解密,保證了資料傳送的安全。會話id用來標識乙個ssh連線,在認證階段,會話id還會用於兩端的認證過程。3:認證階段
兩種常用的認證(登入)方法【呵呵,到了標題內容】:一,密碼口令登入
1、客戶端連線上伺服器之後,伺服器把自己的公鑰傳給客戶端
2、客戶端輸入伺服器密碼通過公鑰加密之後傳給伺服器
3、伺服器根據自己的私鑰解密登入密碼,如果正確那麼就讓客戶端登入
二,公鑰登入
1、客戶端生成rsa公鑰和私鑰
2、客戶端將自己的公鑰存放到伺服器
3、客戶端請求連線伺服器,伺服器將乙個隨機字串傳送給客戶端
4、客戶端根據自己的私鑰加密這個隨機字串之後再傳送給伺服器
5、伺服器接受到加密後的字串之後用公鑰解密,如果正確就讓客戶端登入,否則拒絕
【記下金鑰對生成方法】4:會話請求階段1.主機a生成一對金鑰
ssh-keygen -t rsa -f .ssh/id_rsa (預設自己會額外生成.ssh/id_rsa.pub(公鑰是從金鑰中提取的))
-t:指定加密演算法,一般兩種rsa和dsa,優先rsa
-f:指定輸出位置,不選的話預設.ssh/id_rsa,可以選擇其他自定義路徑和名字,但是需要修改/etc/ssh/ssh_config裡面的identityfile引數,且必須當前登陸使用者可以訪問自定義目錄,否則無法進行主機免密碼登陸操作
-n:輸入對生成的私鑰的加密密碼,''為不加密,結合這個引數可在指令碼中生成主機金鑰對
2.主機a把生成的公鑰匯入到主機b使用者home目錄下的.ssh/authorized_keys
5:互動會話階段
SSH原理及兩種登入方法
ssh原理及兩種登入方法 ssh secure shell 是一套協議標準,可以用來實現兩台機器之間的安全登入以及安全的資料傳送,其保證資料安全的原理是非對稱加密。傳統的對稱加密使用的是一套秘鑰,資料的加密以及解密用的都是這一套秘鑰,可想而知所有的客戶端以及服務端都需要儲存這套秘鑰,洩露的風險很高,...
ssh 登入 SSH兩種登入驗證方式
ssh是一種協議標準,其目的是實現安全遠端登入以及其它安全網路服務。ssh登入主要分為兩個階段 1 協商客戶端和服務端雙方通訊所使用的共享金鑰,並用這個共享金鑰實現後續會話過程的對稱加密 2 使用非對稱加密方式驗證客戶端的身份。圖 1 交換共享秘鑰 1 客戶端發起tcp連線請求 2 伺服器返回其支援...
SSH簡介及兩種遠端登入的方法
secure shell ssh 是由 ietf the internet engineering task force 制定的建立在應用層基礎上的安全網路協議。它是專為遠端登入會話 甚至可以用windows遠端登入linux伺服器進行檔案互傳 和其他網路服務提供安全性的協議,可有效彌補網路中的漏洞...