1.配置机器的/etc/hosts 文件 为多台信任做准备
[hadoop@hadoop001 ~]$ su - root
Password:
[root@hadoop001 ~]# vi /etc/hosts
172.18.39.23 hadoop001 hadoop001
172.18.39.22 hadoop002 hadoop002
172.18.39.24 hadoop003 hadoop003
把修改的传到另外两台机子上面
[root@hadoop001 ~]# scp /etc/hosts root@172.18.39.22:/etc/hosts
root@172.18.39.22's password:
hosts 100% 272 0.3KB/s 00:00
[root@hadoop001 ~]# scp /etc/hosts root@172.18.39.24:/etc/hosts
root@172.18.39.24's password:
hosts 100% 272 0.3KB/s 00:00
[hadoop@hadoop001 ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.18.39.23 hadoop001 hadoop001
172.18.39.22 hadoop002 hadoop002
172.18.39.24 hadoop003 hadoop003
[hadoop@hadoop001 ~]$
2.多台机器互相信任无密码访问
生成sshkey
[hadoop@hadoop001 ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
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:
cd:db:01:df:8f:d3:41:9c:76:59:4c:c4:e6:ee:23:7e hadoop@hadoop001
The key's randomart image is:
+--[ RSA 2048]----+
| =+|
| . B|
| . O.|
| o o .o o|
| S o o .o |
| o . +o|
| . . o.o|
| . E.|
| ..o .|
选取第一台的
[hadoop@hadoop001 ~]$ cd .ssh
[hadoop@hadoop001 .ssh]$ ll
total 8
-rw------- 1 hadoop hadoop 1675 Nov 27 15:02 id_rsa 私钥
-rw-r--r-- 1 hadoop hadoop 398 Nov 27 15:02 id_rsa.pub 公钥
[hadoop@hadoop001 .ssh]$
hadoop001为主 hadoop002,hadoop003为辅
就需要把hadoop002,hadoop003的公钥文件发过来
[hadoop@hadoop002 .ssh]$ scp id_rsa.pub root@hadoop001:/home/hadoop/.ssh/id_rsa.pub2
The authenticity of host 'hadoop001 (172.18.39.23)' can't be established.
RSA key fingerprint is 31:a2:03:77:1a:21:b6:4f:59:1b:bd:b5:24:c3:e4:d7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop001,172.18.39.23' (RSA) to the list of known hosts.
root@hadoop001's password:
id_rsa.pub 100% 398 0.4KB/s 00:00
[hadoop@hadoop002 .ssh]$
[hadoop@hadoop003 ~]$ cd .ssh
[hadoop@hadoop003 .ssh]$ scp id_rsa.pub root@hadoop001:/home/hadoop/.ssh/id_rsa.pub3
The authenticity of host 'hadoop001 (172.18.39.23)' can't be established.
RSA key fingerprint is 31:a2:03:77:1a:21:b6:4f:59:1b:bd:b5:24:c3:e4:d7.
Are you sure you want to continue connecting (yes/no)? yesy^H
Warning: Permanently added 'hadoop001,172.18.39.23' (RSA) to the list of known hosts.
root@hadoop001's password:
Permission denied, please try again.
root@hadoop001's password:
id_rsa.pub 100% 398 0.4KB/s 00:00
[hadoop@hadoop003 .ssh]$
查看第一台机器的文件
[hadoop@hadoop001 .ssh]$ ll
total 16
-rw------- 1 hadoop hadoop 1675 Nov 27 15:02 id_rsa
-rw-r--r-- 1 hadoop hadoop 398 Nov 27 15:02 id_rsa.pub
-rw-r--r-- 1 root root 398 Nov 27 15:06 id_rsa.pub2
-rw-r--r-- 1 root root 398 Nov 27 15:07 id_rsa.pub3
[hadoop@hadoop001 .ssh]$
追加到authorized_key
[hadoop@hadoop001 .ssh]$ cat id_rsa.pub >> authorized_keys
[hadoop@hadoop001 .ssh]$ cat id_rsa.pub2 >> authorized_keys
[hadoop@hadoop001 .ssh]$ cat id_rsa.pub3 >> authorized_keys
[hadoop@hadoop001 .ssh]$ cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAl0+3q4dd4gtjeis0mbmo/O+JRrFYqS75efmgc+K9vMYRJdzH/hJudExA+S78W04sW/WZ1V5BctMsmNiXd+LRx6rAh9DnpzB9flGDchJmPshOLPx25LnKn0MoYuCTqlXBiLHv5SIbRBq885E1KK+ZtagmKEdEIffeKXOhhd1GmydHh5n3wYb5kag5dAU/RAu2hmS/Vbo/NgEZvTPbB1ljyBDpGI53nOUTVrQYC0zHYai3/S+dF8PwsGeo2kd5mwxKsYppqjtVYTEb0SVeQGhls2HkGIXLBcpIqKa8uGu58M1iyeC+PM8L/Co09YZGVMFpWkvtwmOpVV0nGmf/cmsyvQ== hadoop@hadoop001
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4VCa/KBEYqFMhedxmEsrdTrW59VY9BRWLmnFWoV9hKYfic7M/0pb0f6qKE0O1ySIizGj1zAAcjwj1Q+LEfEhsPaw1lUT02MkTn5dSlbfSgiz4Ue637hWC2vB1ZcxfjIMOf4KFs+MmOgU27V/S1nwS9iMOWq4u4RZ8tAxH3dIHPvktx1nV9wRetuCi0PzCn1TH3j91YjKiAWFKA1YJaSo3MrATDdjDdQDR6/EYvOAuGX75W7oPv0rYovv7Z/Q7QUQqr5JhW7l67zsHE9gf2xJ+1XovA56qP77TImRVzCyPqCk+v/IulvJ9jvsgFyjRdwH3wxwWZ7pgfnLXl4dfWMs+w== hadoop@hadoop002
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwCUhdU4JstMg/l8S189e/4FbzYQMEu5NK/gGujO7abt+0wKpFtrcOfFt03IVtvD0vMt6qpznYYlm+Y9D8OLSwSxSgPPVUL6iQ40QQrlSlWFtnhPMVTg32rjmxFhP7E+M14EPqEAEhO4Kcv4+1WjWQszg4uqj8w4KHZBogae0pbBJ+CIARqVJCo2M7/dC0hJA0DzngEebFaSekRBmcxActQm8ULo2tktipoekTaHmhwpIFmXyh8iDkJA0QwApuiq7HUeRMeLwQCh5C4cFHkUGG2aTz/LPN/H8WfYakMokc8g2U8RNtn817qTy0N2AJniRijb5/KATK3j3ftOmc6EYfw== hadoop@hadoop003
[hadoop@hadoop001 .ssh]$
把文件传输给另外两台机器
[hadoop@hadoop001 .ssh]$ scp authorized_keys root@hadoop002:/home/hadoop/.ssh
[hadoop@hadoop001 .ssh]$ scp authorized_keys root@hadoop003:/home/hadoop/.ssh
修改每台机器的.ssh所属
[hadoop@hadoop001 .ssh]$ exit
logout
[root@hadoop001 ~]# chown -R hadoop:hadoop /home/hadoop/.ssh/*
[root@hadoop001 ~]# chown -R hadoop:hadoop /home/hadoop/.ssh
修改.ssh权限700 里面的authorized_keys 权限为600
[hadoop@hadoop001 ~]$ cd .ssh
[hadoop@hadoop001 .ssh]$ chmod 600 authorized_keys
[hadoop@hadoop001 .ssh]$ ll
total 24
-rw------- 1 hadoop hadoop 1194 Nov 27 15:10 authorized_keys
-rw------- 1 hadoop hadoop 1675 Nov 27 15:02 id_rsa
-rw-r--r-- 1 hadoop hadoop 398 Nov 27 15:02 id_rsa.pub
-rw-r--r-- 1 hadoop hadoop 398 Nov 27 15:06 id_rsa.pub2
-rw-r--r-- 1 hadoop hadoop 398 Nov 27 15:07 id_rsa.pub3
-rw-r--r-- 1 hadoop hadoop 808 Nov 27 15:12 known_hosts
[hadoop@hadoop001 .ssh]$
现在就不需要输入密码就可以访问了,每台机器都可以尝试下
[hadoop@hadoop001 .ssh]$ ssh hadoop001 date
The authenticity of host 'hadoop001 (172.18.39.23)' can't be established.
RSA key fingerprint is 31:a2:03:77:1a:21:b6:4f:59:1b:bd:b5:24:c3:e4:d7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop001,172.18.39.23' (RSA) to the list of known hosts.
Tue Nov 27 15:16:05 CST 2018
[hadoop@hadoop001 .ssh]$ ssh hadoop002 date
Tue Nov 27 15:16:15 CST 2018
[hadoop@hadoop001 .ssh]$ ssh hadoop003 date
Tue Nov 27 15:16:25 CST 2018