CentOS7設置集群環境SSH免密訪問


1.准備工作

1)通過克隆或者其他方式獲得可互相通信的多台節點(本文為3台虛擬機:hadoop101、hadoop102、hadoop103)

2)配置節點的靜態IP、hostname、hosts,參考:CentOS7設置hostname、hosts(永久更改)、靜態IP地址

[root@hadoop101 jdk1.8.0_121]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.101 hadoop101.com hadoop101
192.168.1.102 hadoop102.com hadoop102
192.168.1.103 hadoop103.com hadoop103
192.168.1.104 hadoop104.com hadoop104
192.168.1.105 hadoop105.com hadoop105
192.168.1.106 hadoop106.com hadoop106

3)輸入命令:cd ~/.ssh進入rsa公鑰私鑰文件存放的目錄,刪除目錄下的id_rsa,id_rsa.pub文件

2.生成rsa公鑰私鑰文件

在每台機上產生新的rsa公鑰私鑰文件,並統一拷貝到一個authorized_keys文件中

1) 登錄hadoop101,在~/.ssh目錄下輸入命令:

ssh-keygen -t rsa

三次回車后,該目錄下將會產生id_rsa,id_rsa.pub文件。其他主機也使用該方式產生密鑰文件。

(如果沒有.ssh目錄,則使用ssh命令連接一次其他主機就會生成)

2) 登錄hadoop101,輸入命令:

cat id_rsa.pub >> authorized_keys

將id_rsa.pub公鑰內容拷貝到authorized_keys文件中。

3) 登錄其他主機,將其他主機的公鑰文件內容都拷貝到hadoop101主機上的authorized_keys文件中,命令如下:

ssh-copy-id -i hadoop101 #登錄hadoop102,將公鑰拷貝到hadoop101的authorized_keys中

ssh-copy-id -i hadoop101 #登錄hadoop103,將公鑰拷貝到hadoop101的authorized_keys中

拷貝后的authorized_keys內容如下:

[root@hadoop101 .ssh]# more authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC92MPpDY5H4Rnq9AM1QKPFu6dRlL
I2oiH/C+eUtDcYM4TQMLV9/Jwk0ffOaWvGIdLYbj/pQC+pZm8i4jWXQ/IDtnC8UlSc
Qqpa5dkzi3yBZTs6/t6Z5+Hbe0s8cXemqxXllVIitg3VQQ8hZOQss5kl/XS4mN51xA
fCnuehr1VLOJ3eMjmoIpKtWSzypxaO7GTxHfd/zzZB0fs5u//Sv1uaZKpIHPWCFiNv
fxDG4KC1mts9LqIf+iQyMrJGCCFxuuIOGvBjqmNDX2dUd7glVCwpiQf2bbw1N7INvf
OkwoT33hSn0uICGvK36tQYYh8CAyyuh9CUP+TJu+Mz0M0fcNeJ root@hadoop101.
com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDX8gcUU5M8RURsxBfSzrdMTjXxJA
U6UsxLHLxxCa1aiUNrLQyF6QwwZQlmzBpnNjXE9vOtzTfXOAu7m/2YBXDN8tQ4ULFN
mKF3xt/lZfeYkSiuJmSxOw/BklOJGhwrEwJIaQV7h28Oqx/o2iHyfSbx6BcBDVzzwi
wBlKThb3EM9J3r9dHynvT0ogGb5KpP/o4pi7inhb7PffB5zq4sz1Q726tq9YsS/uG3
emJLHj4ovSf4F3FIFPY8mtFuTsIjtuOO2YRTIYyTXd17XqJEVhd+rIYosoLi2oB6U7
az2HI00j3f+DgB0wbd9zHaI2h2J88a4RhTnAfSCWaWFZyxn19d root@hadoop102.
com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCn2yYONHHW25rqBX2X4zUD4qHHXz
If1wtWaLEi1FYOOrB46aWZxVMV/UTA+AowvH4RVV9nw0rldmG6PaEyrNvUZW0t7wri
pRNxGTldpm2nBg692gSgLy+gQH4i4nG/r/nxXL05XmH+zUJT7sLZYea2S/pH2NZpIk
ThusR6hiDyfqcTCB22MhRlkdgIh1MgMdFoDlk5jN4ezra6MBWcNg1VBP4xp70+NhSw
mt1RutN/puNFkpgUjz5gmOT8ZLZ4R4cwM5H8/ZLljB/8aDkQrneUJ9TIVYAyVZOhD3
w7NTpJsfulX6ao71PuFSwje0+V2nctPYP6L1litX4S6t5vDgup root@hadoop103.
com

3.授權authorized_keys文件

登錄hadoop01,在.ssh目錄下輸入命令:

chmod 600 authorized_keys

4.將授權文件分配到其他主機上

1) 登錄hadoop01,將授權文件拷貝到hadoop02、hadoop03...,命令如下:

scp /root/.ssh/authorized_keys hadoop102:/root/.ssh/ #拷貝到hadoop102上

scp /root/.ssh/authorized_keys hadoop103:/root/.ssh/ #拷貝到hadoop103上

或使用xsync同步文件(使用集群同步腳本對配置文件同步分發):

[root@hadoop101 .ssh]# xsync /root/.ssh/authorized_keys

2) 至此,免密碼登錄已經設定完成,注意第一次ssh登錄時需要輸入密碼,再次訪問時即可免密碼登錄。


免責聲明!

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



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