基于SSH免密登录集群配置

基于SSH免密登录集群配置

最近搭建Flink集群,为了方便需要配置集群基于SSH的免密登录访问;在配置过程中遇到一些坑点,在这里做个笔记,记录配置过程和遇到问题,希望对大家有所帮助。

环境准备

操作系统:CentOS 7

准备四个节点:

192.168.128.129 node01 
192.168.128.132 node02
192.168.128.130 node03
192.168.128.131 node04
//注:每个节点能相互ping通

配置过程

1.生产密钥对

ssh-keygen -t rsa 
# 在node01、node02、node03、node04分别执行

执行过程中遇到输入,直接回车就可以,进入~/.ssh/目录,会有一对秘钥

id_rsa 私钥

id_rsa.pub 公钥(公布给授权访问本节点的其他节点)

2.拷贝公钥

选择node01节点,把其他节点公钥拷贝到node01节点 ~/.ssh目录下

node02:
# 进入ssh目录
cd ~/.ssh
# 复制备份重命名公钥
cp id_rs.pub id_rsa_node02.pub
# 拷贝到node01节点
scp -r id_rsa_node02.pub node01:`pwd`

node03:
# 进入ssh目录
cd ~/.ssh
# 复制备份重命名公钥
cp id_rs.pub id_rsa_node03.pub
# 拷贝到node01节点
scp -r id_rsa_node03.pub node01:`pwd`

node04:
# 进入ssh目录
cd ~/.ssh
# 复制备份重命名公钥
cp id_rs.pub id_rsa_node04.pub
# 拷贝到node01节点
scp -r id_rsa_node04.pub node01:`pwd`

拷贝公钥到~/.ssh/authorized_keys 文件中

# 拷贝node01、node02、node03、node04节点的公钥到node01的authorized_keys
cat id_rsa.pub >> ~/.ssh/authorized_keys
cat id_rsa_node02.pub >> ~/.ssh/authorized_keys
cat id_rsa_node03.pub >> ~/.ssh/authorized_keys
cat id_rsa_node04.pub >> ~/.ssh/authorized_keys

3.分发公钥

把配置好的公钥分发拷贝到其余节点的~/.ssh/的目录下

scp -r authorized_keys node02:`pwd`
scp -r authorized_keys node03:`pwd`
scp -r authorized_keys node04:`pwd`

4.修改SSH配置文件

vi /etc/ssh/sshd_config

修改内容如下:
PermitRootLogin yes
StrictModes no
PubkeyAuthentication yes

这个文件里可以发现 AuthorizedKeysFile      .ssh/authorized_keys ,故以步骤2要公钥拷贝到这个文件里

每个节点都要修改,然后重启ssh
systemctl restart sshd.service

最后验证登录其他节点
ssh node02 若不需要输入密码 则配置成功;否则配置失败

遇到问题

1.权限问题

需要设置ssh目录权限

chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys

2.防火墙和selinux问题

配置ssh需要关闭linux安全策略

# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开机自启动
systemctl disable firewalld.service
# 查看防火墙状态
systemctl status firewalld.service

#关闭selinux
vi /etc/sysconfig/selinux
设置SELINUX=disabled
重启生效
posted @ 2020-12-23 17:35  mindy3250  阅读(365)  评论(0编辑  收藏  举报