ssh免秘鑰實現及其原理

2021-09-26 14:44:14 字數 970 閱讀 8193

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

SSH免秘鑰登入

ssh配置 主機a 10.0.5.199 主機b 10.0.5.198 需要配置主機a無密碼登入主機a,主機b 先確保所有主機的防火牆處於關閉狀態。在主機a上執行如下 1.cd ssh 2.ssh keygen t rsa 然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh id rsa...

keychain實現ssh對秘鑰免登陸免輸入密碼

linux同一網段實現密碼認證,管理。專案 ssh keygen t rsa t rsa dsa 123123 key認證密碼 cat id rsa.pub ssh authorized keys 追加公鑰 chmod 700 ssh chmod 600 ssh authorized keys 許可...

使用ssh秘鑰實現節點免密登入

a要實現使用ssh秘鑰進行免密登入b,則需要在a下生成ssh公鑰,放入b的ssh配置檔案裡。ssh keygen t dsa p f ssh id dsa此時在 ssh 下生成兩個檔案 id dsa和id dsa.pub id dsa 生成的私鑰檔案 id dsa.pub 生成的公鑰檔案 將公鑰放在...