ssh免祕鑰實現及其原理

SSH免祕鑰登錄 就是避免了主機之間ssh需要輸用戶名和密碼這一步。

先理解三個名稱 公鑰(id_dsa.pub)、私鑰(id_dsa)、授權列表文件(authorized_keys)  

 

實現方法:以A B兩臺機器爲例

1. AB兩臺機器分別生成各自的公鑰(id_dsa.pub)+私鑰(id_dsa)

使用ssh-keygen命令,rsa|dsa兩種加密方法,任意選一個。

# ssh-keygen -t dsa  然後全部默認回車;在 ~/.ssh目錄下查看生成了 id_dsa.pub+id_dsa

2.將A的公鑰內容添加到B機器的授權列表文件(authorized_keys)

 id_dsa.pub 拷貝到B機器的 ~/.ssh/authorized_keys中 (內容重定向追加到文件中)

---兩步就可以實現A機器ssh免祕鑰登錄B機器啦

 

3.將B的公鑰內容添加到A機器的授權列表文件(authorized_keys)

---三步就可以實現AB機器ssh免祕鑰互相登錄啦

 

登錄原理過程:以A機器ssh登錄B機器爲例。

1.A向B發送登錄請求

2.B 在自己的授權列表中查看是否有A的公鑰;沒有則拒絕A登錄

3.B中有A公鑰,則B隨機生成一個字符串,並用A的公鑰進行加密,發送給A

4.A 收到加密後的字符串,用自己的私鑰進行解密,得到原始字符串,返回給B

5.B 對比字符串,如果一致就授權A登錄。 A登錄B 成功。

 

 

-----------------------有興趣可以自行了解下列名詞。

對稱加密 / 非對稱加密   、dsa / rsa  、known_hosts

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章