设置ssh别名

  1. 在 ~ 下创建文件夹 .ssh
  2. 在 .ssh 文件夹中创建文件 config
  3. 在 config 文件中,书写如下配置

s01:别名
HostName:另一个服务器地址
User:以什么身份登录
(还有其他的配置,请自行查询)

  1. Host s01
  2. HostName 172.16.24.4
  3. User root
  1. 使用:ssh s01 就可以连接远端服务器了

多服务器同步文件

  1. 在所有节点服务器上安装yum install rsync -y
  2. 在 /usr/local/bin 文件夹中创建文件 xsync
  3. 在xsync中书写如下配置,注意修改循环位置的别名 ```bash

    !/bin/bash

    1 获取输入参数个数,如果没有参数,直接退出

    pcount=$# if [ $pcount -lt 1 ] then echo Not Enough Arguement! exit; fi

2. 遍历集群所有机器

也可以采用:

for host in hadoop{102..104};

for host in hadoop102 hadoop103 hadoop104 do echo ==================== $host ====================

  1. #3. 遍历所有目录,挨个发送
  2. for file in $@
  3. do
  4. #4 判断文件是否存在
  5. if [ -e $file ]
  6. then
  7. #5. 获取父目录
  8. pdir=$(cd -P $(dirname $file); pwd)
  9. echo pdir=$pdir
  10. #6. 获取当前文件的名称
  11. fname=$(basename $file)
  12. echo fname=$fname
  13. #7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)
  14. ssh $host "mkdir -p $pdir"
  15. #8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
  16. rsync -av $pdir/$fname $USER@$host:$pdir
  17. else
  18. echo $file does not exists!
  19. fi
  20. done

done

  1. 4. 修改xsync文件的权限 chmod 777 xsync
  2. <a name="On6Qb"></a>
  3. # 配置免密登录(ssh别名登录也如此)
  4. 1. 生成秘钥对 ssh-keygen -t rsa
  5. - 然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
  6. - 使用rsa算法生成秘钥对
  7. - 生成的秘钥对在用户家目录下: /home/user/.ssh
  8. 2. 将公钥拷贝到要免密登录的目标机器上
  9. ```bash
  10. $ ssh-copy-id s02

参考链接

https://blog.csdn.net/select_alter_drop/article/details/100131943

https://www.cnblogs.com/0or1/p/10363977.html

https://blog.csdn.net/kl28978113/article/details/78508365