文档结构
概念简介
配置操作
场景:在部署gp集群时,希望 master 节点可以使用gpadmin用户可以实现免密登录 slave1和 slave2 节点;
step_1: IP映射
xx.xx.xx.101 server-slave1
xx.xx.xx.102 server-slave2
说明:
1)需要在 master 服务器的 /etc/hosts 下添加 slave1 和 slave2 的IP以及hostname的映射关系;
2)这里不进行IP和hostname映射也可以,这样后面的免密登陆只能通过 ssh xx.xx.xx.101 的指定IP的形式来登录,而不能通过 ssh server-slave1的形式来登录;因为 在 master 节点上无法解析 server-slave1 对应的 IP地址;
step_2:生成秘钥
要实现 master 到 slave1 和 slave2节点的免密登录,需要将 master 节点的 gpadmin用户的公钥发送到 slave1 和 slave2节点上;
在master、slave1、slave2 三台服务器使用 gpadmin 用户分别执行如下操作
[gpadmin@gp-master ~]$ ssh-keygen -t rsa -b 4096
在家目录下会生成一个 .ssh 文件夹,里边如下:
bash
[gpadmin@gp-master ~]$ pwd
/home/gpadmin
[gpadmin@gp-master ~]$
[gpadmin@gp-master ~]$ ll ~/.ssh/
total 8
-rw------- 1 gpadmin gpadmin 3243 Jan 10 15:55 id_rsa
-rw-r--r-- 1 gpadmin gpadmin 777 Jan 10 15:55 id_rsa.pub
[gpadmin@gp-master ~]$
step_3:公钥互信
将 master 的公钥发送给 slave1 和 slave2两个节点,这里有两种操作,一种是通过 ssh-copy-id 指令,一种是通过 scp指令;
方式1:
bash
[gpadmin@gp-master ~]$ scp ~/.ssh/id_rsa.pub gpadmin@xx.xx.xx.101:~/.ssh/authorized_keys
使用这种方式需要显式指定发送的文件在 slave 服务器的 .ssh文件夹下新名称为authorized_keys
;
方式2:
bash
[gpadmin@gp-master ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub gpadmin@xx.xx.xx.101
使用这种方式会自动在 slave 服务器的 .ssh文件夹下生成一个 authorized_keys
鉴权文件;
以上2种方式都需要在 输入 slave节点的 gpadmin密码;
step_4:免密验证
bash
[gpadmin@gp-master ~]$
[gpadmin@gp-master ~]$ ssh xx.xx.xx.101
[gpadmin@gp-master ~]$
[gpadmin@gp-master ~]$ ssh gp-slave1
以上两种指令都可以;
================================================= over =================================================