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