CentOs7.3 Hadoop ssh 免密登陸

環境

三臺虛擬機(IP):node

  • 192.168.252.121
  • 192.168.252.122
  • 192.168.252.123

1.修改主機名

修改三臺主機名,以此類推,node1,node3,node3dom

命令格式ssh

hostnamectl set-hostname <hostname>
sudo hostnamectl set-hostname node1

剩下的虛擬機依次修改hostnamectl set-hostname[1-3]ide

重啓操做系統oop

$ reboot

2.修改映射關係

1.在 node1 的 /etc/hosts 文件下添加以下內容測試

su hadoop
vi /etc/hosts

2.查看修改後的/etc/hosts 文件內容spa

$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# 如下是添加的
192.168.252.121 node1
192.168.252.122 node2
192.168.252.123 node3

2.將集羣node1 上的文件hosts文件 經過 scp 命令複製發送到集羣的每個節點操作系統

for a in {1..3} ; do sudo scp /etc/hosts hadoop@node$a:/etc/hosts ; done

3.檢查是否集羣每個節點的 hosts 文件都已經修改過來了rest

for a in {1..3} ; do sudo ssh hadoop@node$a cat /etc/hosts ; done

3.啓動 ssh 無密登陸

1.在集羣node1的 /etc/ssh/sshd_config 文件去掉如下選項的註釋code

sudo vi /etc/ssh/sshd_config
RSAAuthentication yes      #開啓私鑰驗證
PubkeyAuthentication yes   #開啓公鑰驗證

2.將集羣node1 修改後的 /etc/ssh/sshd_config 經過 scp 命令複製發送到集羣的每個節點

for a in {1..3} ; do  sudo scp /etc/ssh/sshd_config hadoop@node$a:/etc/ssh/sshd_config ; done

4.生成公鑰、私鑰

1.在集羣的每個節點節點輸入命令 ssh-keygen -t rsa -P '',生成 key,一概回車

ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Created directory '/home/hadoop/.ssh'.
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
aa:be:0e:46:9a:e8:d5:dc:79:ea:5a:b8:9b:08:e2:dd hadoop@node2
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|  .     S        |
|.+  o o..        |
|=.o. +.+ .       |
|+.+.o.+ o        |
| o ==E+o         |
+-----------------+

2.在集羣的node1 節點輸入命令

將集羣每個節點的公鑰id_rsa.pub放入到本身的認證文件中authorized_keys;

for a in {1..3}; do sudo ssh hadoop@node$a cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys; done

3.在集羣的node1 節點輸入命令

將本身的認證文件 authorized_keys 經過 scp 命令複製發送到每個節點上去: /home/hadoop/.ssh/authorized_keys`

for a in {1..3}; do sudo scp /home/hadoop/.ssh/authorized_keys hadoop@node$a:/home/hadoop/.ssh/authorized_keys ; done

4.非ROOT 用戶需賦權限

chmod 700 /home/hadoop/.ssh/
chmod 700 /home/hadoop/
chmod 600 /home/hadoop/.ssh/authorized_keys

5.在集羣的每個節點節點輸入命令

接重啓ssh服務

sudo systemctl restart sshd.service

6.驗證 ssh 無密登陸

開一個其餘窗口測試下可否免密登錄

例如:在node3

ssh hadoop@node2

exit 退出

[hadoop@node1 ~]# exit
logout
Connection to node1 closed.

注意:開新的其餘窗口測試下可否免密登錄,把當前窗口都關了

Contact

  • 做者:鵬磊
  • 出處:http://www.ymq.io
  • Email:admin@souyunku.com
  • 版權歸做者全部,轉載請註明出處
  • Wechat:關注公衆號,搜雲庫,專一於開發技術的研究與知識分享

關注公衆號-搜雲庫

相關文章
相關標籤/搜索