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节点无密码登录