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

相关推荐
_星辰大海乀5 小时前
IP 协议
服务器·网络·tcp/ip·nat·子网掩码·ip协议
屿行屿行6 小时前
【Linux】Socket编程(基于实际工程分析)
linux·服务器·网络
runepic6 小时前
Python + PostgreSQL 批量图片分发脚本:分类、去重、断点续拷贝
服务器·数据库·python·postgresql
企鹅侠客7 小时前
Linux性能调优 详解磁盘工作流程及性能指标
linux·运维·服务器·性能调优
企鹅侠客7 小时前
Linux性能调优 再谈磁盘性能指标和进程级IO
linux·运维·服务器·性能调优
虚伪的空想家7 小时前
云镜像,虚拟机镜像怎么转换成容器镜像
服务器·docker·容器·k8s·镜像·云镜像·虚机
不过普通话一乙不改名8 小时前
Linux 网络收包的进阶之路:从普通 socket 到 AF_XDP 零拷贝
linux·运维·网络
在路上@Amos8 小时前
Linux 命令行查看 串口hex数据
linux·运维·服务器
人工智能训练8 小时前
Linux 系统核心快捷键表(可打印版)
linux·运维·服务器·人工智能·ubuntu·容器·openeuler
Vanranrr9 小时前
C++临时对象与悬空指针:一个导致资源加载失败的隐藏陷阱
服务器·c++·算法