Linux配置集群內節點無密碼登入

2021-07-24 19:24:05 字數 1731 閱讀 3719

最近有小夥伴問到ambari搭建的問題,在實踐過程中實在是收穫不少。不出意外的話我會陸續更新博文^_^。這裡先來說一下如何配置集群間的ssh無密登入。

測試集群現有5個節點(node01 到 node05),現在想要節點間可以無密碼ssh登入。

master作為客戶端,要實現無密碼公鑰認證,連線到伺服器salve上時,需要在master上生成乙個金鑰對,包括乙個公鑰和乙個私鑰,而後將公鑰複製到所有的salve上。當master通過ssh鏈結到salve上時,salve會生成乙個隨機數並用master的公鑰對隨機數進行加密,並傳送給master。master收到加密數之後再用私鑰解密,並將解密數回傳給salve,salve確認解密數無誤之後就允許master進行連線了。這就是乙個公鑰認證過程,期間不需要手工輸入密碼,重要的過程是將master上產生的公鑰複製到salve上。

編輯ssh配置檔案

vi /etc/ssh/sshd_config

修改以下內容

rsaauthentication yes

#啟用rsa

pubkeyauthentication yes

#啟用公鑰私鑰配對認證方式

authorizedkeysfile %h/.ssh/authorized_keys #公鑰檔案路徑

儲存後,重啟ssh服務:

service ssh restart

#或者/etc/init.d/ssh restart

ssh-keygen

-t rsa

執行上述命令(期間可以一路回車,除非你想要對金鑰進行加密)後, 會在當前登入使用者目錄下建立.ssh資料夾,裡面包含了id_rsa, id_rsa.pub。

注意:當前操作的主機為node04.

此時我們需要將公鑰加入到authorized_keys檔案中

cat id_rsa.pub >> authorized_keys
此時我們還要判斷一下authorized_keys的許可權,通常賦予600許可權即可:

chmod

600 authorized_keys

接著我們測試一下本地無密登入:

ssh localhost
如無意外,執行上述命令即可登入到本機。

接下來將id_rsa.pub傳送給集群的其他節點:

#將當前目錄下的id_rsa.pub傳送到node01下/root/.ssh/node04.pub

scp id_rsa.pub root@node01

:/root/.ssh/node04.pub

或者使用迴圈來傳送(針對節點較多的情況)

for i in ;do scp id_rsa.pub root@node0

$i:/root/.ssh/$hostname.pub; done

這樣,在每個節點下都有node01.pub 到 node05.pub這幾個檔案,此時分別加入到authorized_keys檔案中

true > authorized_keys && cat node01.pub node02.pub node03.pub node04.pub node05.pub >> authorized_keys
至此,ssh無密登入設定完成!

Linux 集群間無密碼登入的配置

介紹越來越多的linux中使用的元件都需要無密碼登入,索性把這個作為第一篇文章吧。我們現在有一組安裝了linux作業系統的機器,每台機器上都有乙個名叫test的使用者。我們希望在這組機器之間做無密碼登入時都使用test使用者。每個機器都有乙個唯一的主機名 比如 node1,node2,node3 修...

linux 集群節點互信ssh配置

在所有節點上安裝ssh 在節點1上執行生成金鑰 rsa分為公鑰和私鑰,請了解rsa非對稱加密演算法 ssh keygen t rsa ssh keygen t dsa cat ssh pub ssh authorized keys 將節點1的公鑰追加到驗證檔案 cat ssh authorized ...

linux配置ssh無密碼訪問

由於看了網上的教程太亂,特意整理簡潔實用的教程,兩台機器a和b,現要通過a ssh無密碼訪問b 1.首先登入a,執行命令 ssh keygen t rsa 或者 ssh keygen t rsa p 然後一路回車即可,會在 ssh目錄下生成 id rsa和id rsa.pub兩個檔案,id rsa為...