ssh免密登錄配置


hadoop主機設置免密

環境設置

需要三台或三台以上的主機
並修改主機名分別為:master,slave1,slave2

hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2

配置網絡(配置均在同一網段),並分別修改主機配置文件"/etc/hosts"

#配置網絡為基礎設置,此處省略,此處實驗三台主機IP為:
master 192.168.10.10/24
slave1 192.168.10.20/24
slave2 192.168.10.30/24
#配置"/etc/hosts"域名解析  三台都需配置域名解析
vim /etc/hosts
寫入:
192.168.10.10      master
192.168.10.20      slave1
192.168.10.30      slave2
保存退出
#三個文件配置完成之后需要互相ping一下看看是否能通,通則可,否則檢查配置文件及相關配置
ping master
ping slave1
ping slave2

生成ssh密鑰

每個節點安裝和啟動 SSH 協議

實現 SSH 登錄需要 openssh 和 rsync 兩個服務,一般情況下默認已經安裝,可以通過下面命令查看結果:

創建用戶hadoop(三台均需創建)

命令為:

配置ssh服務配置文件,開啟公鑰登錄功能(三台均需執行)

使用 root用戶登錄,修改 SSH配置文件"/etc/ssh/sshd_config"的下列內容,需要將PubkeyAuthentication yes前面的#號刪除,啟用公鑰私鑰配對認證方式。

vim /etc/ssh/sshd_config
去掉#號
systemctl restart sshd   #修改配置文件需要重啟

切換到hadoop用戶並生成密鑰對(三台均需執行)

  • 在master節點上生成密鑰

  • 在slave1節點上生成密鑰

  • 在slave2節點上生成密鑰

查看"/home/hadoop/"下是否有".ssh"文件夾,且".ssh"文件下是否有兩個剛生產的無密碼密鑰對。

將 id_rsa.pub追加到授權key文件中(三台均需執行)

  • master節點

  • slave1節點

  • slave2節點

修改文件"authorized_keys"權限(三台均需執行)

注意:通過 ll命令查看,可以看到修改后 authorized_keys文件的權限為“rw-------”,表示所有者可讀寫,其他用戶沒有訪問權限。如果該文件權限太大,ssh服務會拒絕工作,出現無法通過密鑰文件進行登錄認證的情況。
文件權限: .ssh 700 | id_rsa 600 | id_rsa.pub 644

  • master

  • slave1

  • slave2

驗證ssh登錄本機(三台均需執行)

在 hadoop用戶下驗證能否嵌套登錄本機,若可以不輸入密碼登錄,則本機通過密鑰登錄認證成功。
首次登錄時會提示系統無法確認 host主機的真實性,只知道它的公鑰指紋,詢問用戶是否還想繼續連接。需要輸入“yes”,表示繼續登錄。第二次再登錄同一個主機就不會再出現該提示,可以直接進行登錄。

  • master

  • slave1

  • slave2

交換ssh密鑰

將master節點公鑰復制到每個slave節點

將 Master 節點的公鑰 id_rsa.pub 復制到每個 Slave 點hadoop用戶登錄,通過 scp命令實現密鑰拷貝。

首次遠程連接時系統會詢問用戶是否要繼續連接。需要輸入“yes”,表示繼續。因為目前尚未完成密鑰認證的配置,所以使用 scp命令拷貝文件需要輸入 slave1節點 hadoop用戶的密碼。

  • master

在slave節點上將公鑰復制到文件里

在每個 Slave節點把 Master節點復制的公鑰復制到 authorized_keys文件
使用hadoop用戶登錄 slave1和 slave2節點,執行命令。

  • slave1

  • slave2

將每個 Slave節點的公鑰保存到 Master

  • slave1

  • slave2

在 Master節點把從 Slave節點復制的公鑰復制到 authorized_keys文件

驗證 SSH 無密碼登錄

  • 查看 Master 節點 authorized_keys 文件
    可以看到 Master節點 authorized_keys文件中包括 master、slave1、slave2三節點的公鑰。

  • 驗證 Master到每個 Slave節點無密碼登錄
    hadoop用戶登錄 master節點,執行 SSH命令登錄 slave1和 slave2節點。可以觀到不需要輸入密碼即可實現 SSH登錄。

  • 驗證兩個 Slave節點到 Master節點無密碼登錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM