实现ssh无密码登陆:即master和slave可以随意切换 ssh master / ssh slave
SSH协议在某些系统里不自带,所以在启动SSH协议前,需要进行ssh和rsync两个服务的检查,确认是否已经安装。Rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件:
[hadoop@master ~]$ rpm -qa | grep openssh
openssh-clients-7.4p1-16.el7.x86_64
openssh-server-7.4p1-16.el7.x86_64
openssh-7.4p1-16.el7.x86_64
[hadoop@master ~]$ rpm -qa | grep rsync
rsync-3.1.2-4.el7.x86_64
如果没有:yum install -y openssh-clients
openssh-server
rsync
ssh安装与配置:
[hadoop@master ~]$ hostname
master
[hadoop@master ~]$ ssh-key
ssh-keygen ssh-keyscan
[hadoop@master ~]$ ssh-keygen -t rsa -P ''
//出现问题时直接点回车,-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:
SHA256:gQ6c9NzxdQ8Amc36e8yo0UT/d8xj6ZSJEef2+g3pqg8 hadoop@master
The key's randomart image is:
+---[RSA 2048]----+
| . . .*o.o |
| o + o oo.o. o |
| + + o .... ..|
| o ... .+ |
| . S ....o |
| o. +==|
| E .*oBB|
| oo.Bo=|
| o+ooooo|
+----[SHA256]-----+
sshd_config中指定的公钥路径:authorized_keys
这是一对密钥对:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
authorized_keys需要自己创建,但是这里只要直接输就可以
将生成的密钥写入sshd_config指定公钥文件路径中~/.ssh/authorized_keys
[hadoop@master ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[hadoop@master ~]$ chmod 600 ~/.ssh/authorized_keys
[hadoop@master ~]$ sudo systemctl restart sshd.service [hadoop@master ~]$ ssh master
The authenticity of host 'master (fe80::d514:6ab7:d788:8294%ens33)' can't be established.
ECDSA key fingerprint is SHA256:E30LEGLP/hSoJ5Er+gjh5INzhzIf5OCCTmZad5+7yaU.
ECDSA key fingerprint is MD5:13:45:bc:c5:63:bd:87:55:b2:c3:72:f4:85:5c:91:18.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'master,fe80::d514:6ab7:d788:8294%ens33' (ECDSA) to the list of known hosts.
Last login: Fri Mar 29 19:05:41 2019 from 192.168.40.1
[hadoop@master ~]$