1. ssh-keygen -t ras # 连续回车三次得到生成的公钥私钥(文件夹 .ssh) ======================================= 注: known_hosts 记录ssh访问过计算机的公钥(public key) id_rsa 生成的私钥 id_rsa.pub 生成的公钥 authorized_keys 存放授权过得无密登录服务器公钥 =========================================== 2. ssh-copy-id 免密登录机器IP # 将公钥发送至免密登录的机器上 ============================================ 为了能够实现互相免密登录的效果可以 先将自己公钥发给自己 然后将 .ssh文件夹分发给集群所有的机器 ==这就等同于机器A ssh 机器B 时 机器A采用这个私钥加密发送数据给机器B 机器B采用authorized_keys中存放的机器A公钥解密,实现免密登录。 ============================================== 3. xsync /home/atguigu/.ssh 将 .ssh文件夹分发给集群所有的机器2. 群发文件脚本
1.脚本内容
(1) vim xsync 新增文件
(2)chomd +x xsync 授权文件执行权限
(3)cp xsync /bin/ 将文件拷贝至 /bin 可直接全路径调用
#!/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 循环 --TODO 待修改成自己的集群机器
for((host=103; host<105; host++)); do
echo ------------------- hadoop$host --------------
rsync -av $pdir/$fname $user@hadoop$host:$pdir
done



