Linux多節點間的免密碼登入設定

2021-09-13 03:36:34 字數 2388 閱讀 1627

四台主機(以centos為例):

192.168.80.129  master

192.168.80.130  worker1

192.168.80.131  worker2

192.168.80.132  worker3

修改主機名

修改主機名,分別為 master worker1 worker2 worker3

vi /etc/hostname
退出編輯  :wq

顯示主機名

hostname
修改ip主機名對映

重啟計算機

reboot
配置ssh外網環境下,安裝ssh

sudo yum -y install openssh-server
檢視ssh是否安裝成功

ps -e|grep ssh
結果

為方便操作,通過配置 ssh 無密碼驗證,實現各節點間的無密碼通訊。

總體思路

每台機器生成秘鑰

將每台機器的公鑰複製到master節點上

master將公鑰追加到authorized_keys中

master再講authorized_keys分發給其餘節點

生成金鑰,其中,'' 表示兩個單引號(四台主機都需要執行)

ssh-keygen[enter][enter][enter]
此時,在 /root/.ssh (如果不是root使用者,路徑為:/root/$/.ssh)中生成了兩個金鑰檔案:id_rsa和id_rsa.pub,其中id_rsa為私鑰,id_rsa.pub 為公鑰。

需要將 id_rsa.pub 追加到 authorized_keys 中,authorized_keys 用於儲存所有允許以當前使用者身份登入到 ssh 客戶端使用者的公鑰內容。

master中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
檢視現在能否免密碼登入 ssh

ssh localhost
輸入「yes」繼續登入。完成後,輸入 「exit」退出 localhost。再次登入使就不需要密碼了。

在worker節點中,將公鑰拷貝到master

worker1節點

scp ~/.ssh/id_rsa.pub [email protected]:/root/.ssh/id_rsa.pub.worker1
worker2節點

scp ~/.ssh/id_rsa.pub [email protected]:/root/.ssh/id_rsa.pub.worker2
worker3節點

scp ~/.ssh/id_rsa.pub [email protected]:/root/.ssh/id_rsa.pub.worker3
master 中將公鑰追加到authorized_key

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

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

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

master中將authorized_keys拷貝到其他節點

scp ~/.ssh/authorized_keys [email protected]:/root/.ssh/authorized_keys

scp ~/.ssh/authorized_keys [email protected]:/root/.ssh/authorized_keys

scp ~/.ssh/authorized_keys [email protected]:/root/.ssh/authorized_keys

master節點中

ssh master

ssh worker1

ssh worker2

ssh worker3

設定多節點間無口令SSH登入

本實驗的目的是要設定兩個節點間的ssh免密互信。這在設定hadoop集群。分布式資料庫時經常會用到。我們的環境假設有3臺機器,即互信的兩個節點和一台客戶機。客戶機可以是雲中的跳板機或你的膝上型電腦,總之是個第三方的機器。本例使用的是我的膝上型電腦。首先在雲中建立兩台centos 7虛機,node01...

linux免密碼登入

linux系統中,免密碼登陸是乙個常用的功能,特別是在shell指令碼中。實際生產中配過多次,也幫其他人解決過登陸失敗的問題 發現這個功能雖然簡單但在整個配置過程中還有一些需要注意的問題。特此記錄備忘!網上大多的參考資料都是先建立金鑰,然後再手動複製公鑰到遠端主機上,整個過程包括建立資料夾,建立檔案...

Linux免密碼遠端登入

如何通過一台linux ssh遠端其他linux伺服器時,不要輸入密碼,可以自動登入。提高遠端效率,不用記憶各台伺服器的密碼。1.首先登入一台linux伺服器,此台做為母機 即登入其他linux系統用這台做為入口 執行一行命令生成key檔案 ssh keygen t rsa 然後一直回車,如下所示 ...