1. 程式人生 > >Linux下多節點SSH無密碼互聯實現

Linux下多節點SSH無密碼互聯實現

openssh color pre 都是 測試 創建 私鑰 無密碼ssh 需要

需求:有3個主機192.168.0.191、192.168.0.192、192.168.0.193,需要實現無密碼ssh互聯訪問

我使用的是root用戶進行操作的:

1、每個節點分別檢查是否安裝openssh (每個節點都做):如果沒有安裝ssh,則需要先安裝,執行命令:

sudo apt-get install ssh

2、每個節點分別生成公鑰和私鑰:

ssh-keygen -t rsa

以上命令執行後,進行3次回車就行,其中-t後面的參數是指使用的加密協議類型,可以是rsa或者dsa,生成的公鑰文件為~/.ssh/id_rsa.pub,私鑰文件是~/.ssh/id_rsa,我們用到的是公鑰文件。

3、每個節點上面分別執行公鑰拷貝:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

4、把其他節點的id_rsa.pub也就公鑰添加到本節點然後分發給其他節點【即公鑰合並後共享】:

我是在192.168.0.192節點上面進行合並的,所以我在192.168.0.192上面依次執行命令為:

ssh 192.168.0.193 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ssh 192.168.0.191 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys 192.168.0.193:~/.ssh/authorized_keys scp ~/.ssh/authorized_keys 192.168.0.191:~/.ssh/authorized_keys

在上面的命令中,當執行完第2條時,可以查看cat ~/.ssh/authorized_keys查看文件,文件內容已經變成了3行,就是包含了3個節點的公鑰。

5、測試

我是在192.168.0.192上面測試的,我首先在192.168.0.193上面建立了文件 ~/hello.txt 。

ssh 192.168.0.193 ls ~

此時,不需要輸入密碼即可看到剛剛創建的文件。可以其余節點之間多ssh試試,結果都是一樣的。

Linux下多節點SSH無密碼互聯實現