ssh别名和多服务器同步文件

设置ssh别名

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

s01:别名

HostName:另一个服务器地址

User:以什么身份登录

(还有其他的配置,请自行查询)

bash 复制代码
Host s01
	HostName 172.16.24.4
	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    ====================
    #3. 遍历所有目录,挨个发送
    for file in $@
    do
        #4 判断文件是否存在
        if [ -e $file ]
        then
            #5. 获取父目录
            pdir=$(cd -P $(dirname $file); pwd)
            echo pdir=$pdir
            
            #6. 获取当前文件的名称
            fname=$(basename $file)
            echo fname=$fname
            
            #7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)
            ssh $host "mkdir -p $pdir"
            
			#8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
            rsync -av $pdir/$fname $USER@$host:$pdir
        else
            echo $file does not exists!
        fi
    done
done
  1. 修改xsync文件的权限 chmod 777 xsync

配置免密登录(ssh别名登录也如此)

  1. 生成秘钥对 ssh-keygen -t rsa
    • 然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
    • 使用rsa算法生成秘钥对
    • 生成的秘钥对在用户家目录下: /home/user/.ssh
  2. 将公钥拷贝到要免密登录的目标机器上
bash 复制代码
$ 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

相关推荐
JACK的服务器笔记2 分钟前
《服务器测试百日学习计划——Day19:PCIe自动检测脚本,用Python把lspci设备清点标准化》
服务器·python·学习
玄奕子2 分钟前
VS Code 上传 GitHub 全流程(Windows 环境):HTTP 与 SSH 两种方案(含常见报错排查)
git·http·ssh·github·嵌入式开发
SPC的存折4 分钟前
分布式(加一键部署脚本)LNMP-Redis-Discuz5.0部署指南-小白详细版
linux·运维·服务器·数据库·redis·分布式·缓存
Cx330❀5 分钟前
线程进阶实战:资源划分与线程控制核心指南
java·大数据·linux·运维·服务器·开发语言·搜索引擎
铅笔小新z8 分钟前
【Linux】进程控制(上)
linux·运维·服务器
大卡片10 分钟前
linux和IO常见面试题
linux·运维·服务器
zzzyyy53810 分钟前
Linux程序地址空间
linux·运维·服务器
RisunJan11 分钟前
Linux命令-newusers(用于批处理的方式一次创建多个命令)
linux·运维·服务器
草莓熊Lotso16 分钟前
Linux 线程深度剖析:线程 ID 本质、地址空间布局与 pthread 源码全解
android·linux·运维·服务器·数据库·c++
AcrelGHP22 分钟前
安科瑞AIM-T系列工业IT绝缘监测及故障定位解决方案为关键供电场所筑牢安全防线
大数据·运维·数据库