Centos7 配置集群SSH免密登录(包含群发文件脚本)

1.配置集群ip映射

修改 /etc/hosts 加上集群映射

2.生成ssh秘钥

在 / 目录下生成 .ssh 秘钥

ssh-keygen -t rsa

直接回车到结束

回到 ~ 目录下 

发现 .ssh 文件夹

生成秘钥成功

3.分发公钥建立连接

将公钥分别发送到集群所有的服务器 命令:

ssh-copy-id 192.168.0.200
ssh-copy-id 192.168.0.201
ssh-copy-id 192.168.0.202
ssh-copy-id 192.168.0.203

试登录一下集群的其他服务器,(第一次连接需要密码)

如果出现  The authenticity of host 'XXX (XXX.XXX.X.XXX)' can't be established  的警告

执行命令(在本机执行即可):

ssh -o StrictHostKeyChecking=no  192.168.0.200

4.群发ssh秘钥

接下来写一个 集群文件分发脚本

在 ~ 目录下创建 bin 文件夹

mkdir bin

在 bin 目录下创建 xsync 文件

vim xsync

内容为

#!/bin/bash
#此脚本用/bin/bash解释执行
 
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi
 
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
 
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
 
#4 获取当前用户名称
user=`whoami`
 
#5 循环分发到hadoop-2和hadoop-4主机中
for((host=2; host<5; host++)); do
        echo ------------------- hadoop-$host --------------
        rsync -av $pdir/$fname $user@hadoop-$host:$pdir
done

赋予xsync 执行权限

chmod 777 xsync

若显示没有找到 rsync 命令 则在每台服务器都执行命令 yum install rsync -y ,安装rsync服务

将 ~/.ssh 文件分发到集群所有服务器

xsync /root/.ssh

分发成功 

将 xsync 写入 /etc/profile 这样就可以全局使用了(日常操作,相信大家都会)

5.测试

接下来尝试其他服务器是否配置成功

 配置成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的狮子Li

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值