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

相关推荐
杨云龙UP1 小时前
ODA运维实战:Oracle 19c YJXT PDB表空间在线扩容全过程_20260503
linux·运维·服务器·数据库·oracle
yyuuuzz1 小时前
aws 基础认知与实践注意点
运维·服务器·网络·云计算·github·aws
Rust语言中文社区1 小时前
【Rust日报】2026-05-02 Temper - 用 Rust 编写的 Minecraft 服务器项目发布 0.1.0 版
运维·服务器·开发语言·后端·rust
吠品2 小时前
高性能JS数组操作:何时选用push、unshift、splice或扩展运算符?
linux·服务器·数据库
fish_xk2 小时前
Linux中的指令和权限
linux·运维·服务器
暴力求解2 小时前
Linux---内核态
linux·运维·服务器
mounter6252 小时前
深入理解 Linux 网络新特性:netkit 中的 RX/TX Queue Leasing 与 TCP Devmem
linux·服务器·网络·tcp/ip·kernel
untE EADO2 小时前
Nginx代理到https地址忽略证书验证配置
运维·nginx·https
空中海3 小时前
02. 静态逆向、Manifest 分析与 Smali 重打包
服务器·网络·windows
江南十四行3 小时前
AI Agent应用类型及Function Calling开发实战(三)
服务器·前端·javascript