当前位置: 首页 > news >正文

SSH服务与rsync服务配置实战

SSH服务与rsync服务

SSH

ssh服务,一种远程管理连接工具,在CentOS7系统中默认安装并开机自启的。

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能。

监听tcp的22号端口。软件包名称:openssh

配置文件目录:/etc/ssh,sshd_config 服务端配置文件;ssh_config 客户端配置文件。

客户端提供:ssh、scp、sftp命令

服务端提供:sftp服务、ssh服务

Port 22 #监听端口
AddressFamily any #ip地址版本
ListenAddress 0.0.0.0 #监听地址,ipv4
ListenAddress :: #监听地址,ipv6
PermitRootLogin yes #是否允许root用户登录
MaxAuthTries 6 #重新连接最大次数
MaxSessions 10 #建立不同用户的会话的最大个数
PubkeyAuthentication yes #是否启用公钥对验证登录
AuthorizedKeysFile      .ssh/authorized_keys #存储客户端公钥信息的文件
PasswordAuthentication yes #是否启用密码验证登录
PermitEmptyPasswords no #是否允许空密码登录
UsePAM yes #启用系统用户及密码进行验证登录
UseDNS no #是否启用ssh内部的解析,会影响连接速度
ssh常用命令及选项
命令/工具功能描述常用选项选项说明
sshdSSH 服务端守护进程,用于接收和处理客户端的 SSH 连接请求。-D以守护进程(后台)方式运行(默认行为,通常用于启动服务)。
-d调试模式(Debug),输出详细的连接和认证日志(前台运行,常用于排错)。
-f <config_file>指定 SSH 服务端配置文件路径(默认:/etc/ssh/sshd_config)。
-p <port>指定服务监听的端口(默认:22)。
-4仅使用 IPv4 地址监听(禁用 IPv6)。
-6仅使用 IPv6 地址监听(禁用 IPv4)。
ssh-keygen生成 SSH 密钥对(公钥和私钥),用于免密登录或身份验证。-t <type>指定密钥类型(如 rsaed25519ecdsa 等;推荐 ed25519rsa(2048位以上))。
-b <bits>指定密钥长度(仅对部分算法有效,如 RSA 默认 2048 位,-b 4096 生成 4096 位 RSA 密钥)。
-C <comment>为生成的公钥添加注释(通常为用户邮箱或用户名,方便后续识别)。
-f <filename>指定私钥文件存储路径(公钥会自动生成同名 .pub 文件,如 -f ~/.ssh/id_ed25519)。
-N "<passphrase>"设置私钥的密码(Passphrase);若留空(-N "")则私钥无密码保护(不推荐生产环境)。
-q静默模式(Quiet),不输出生成过程的提示信息。
ssh-copy-id将本地公钥复制到远程主机的 ~/.ssh/authorized_keys 文件中,实现免密登录。-i <identity_file>指定要复制的公钥文件路径(默认:~/.ssh/id_rsa.pub 等)。
-p <port>指定远程主机的 SSH 端口(默认:22)。
-o <ssh_option>传递 SSH 客户端选项(如 -o StrictHostKeyChecking=no 跳过主机密钥校验)。
-f强制覆盖远程主机已有的同名公钥(谨慎使用,可能导致原用户无法通过公钥登录)。
scp安全复制(Secure Copy)工具,用于本地与远程主机之间或远程主机之间的文件/目录传输。-P <port>指定远程主机的 SSH 端口(注意:大写 P,默认:22)。
-r递归复制目录(仅对目录有效)。
-v详细模式(Verbose),显示传输过程的调试信息。
-q静默模式(Quiet),不显示传输进度和错误信息。
-c <cipher>指定加密算法(如 aes256-ctrchacha20-poly1305@openssh.com,默认自动协商)。
-i <identity_file>指定用于认证的私钥文件(默认:~/.ssh/id_rsa 等)。
-l <limit>限制传输速率(单位:Kbit/s,如 -l 1000 表示限速 1000 Kbps)。
sftp交互式安全文件传输协议(SFTP)客户端,支持类似 FTP 的命令操作(上传、下载、删除等)。-P <port>指定远程主机的 SSH 端口(大写 P,默认:22)。
-r递归上传/下载目录(仅对目录有效)。
-v详细模式(Verbose),显示传输过程的调试信息。
-b <batchfile>执行批量命令文件(非交互式模式,适用于脚本自动化)。
sshSSH 客户端工具,用于连接远程主机并执行命令(也可用于测试 sshd 服务是否正常)。-p <port>指定远程主机的 SSH 端口(默认:22)。
-i <identity_file>指定用于认证的私钥文件(默认:~/.ssh/id_rsa 等)。
-v/-vv/-vvv详细模式(-v 基础,-vv 更详细,-vvv 调试级),用于排查连接或认证问题(如查看尝试的密钥、端口等)。
-o <ssh_option>传递 SSH 配置选项(如 -o ServerAliveInterval=60 保持连接,-o User=root 指定用户名)。
  • 示例
[root@targetpc ~]#ssh_keygen -t rsa#生成密钥
[root@targetpc ~]#ssh-copy-id -i .ssh/id_rsa.pub root@192.168.25.155#拷贝密钥
[root@targetpc ~]#ssh root@192.168.25.155#免密登录

Rsync

Rsync(Remote Sync)是Linux系统下的数据镜像备份工具。该工具可以实现远程同步、不同主机之间的同步,也能实现全量备份增量备份,保持数据链接和权限,并采用优化的同步算法,传输前对数据进行压缩,故该工具非常适合架构集中式备份异地备份。也支持本地复制或与ssh、rsync同步。

  • scp无法备份大量数据,而rsync备份、统计、比较一起进行。
  • 可以备份整个目录树和文件系统,并保持文件原来的权限、时间、软硬链接。
  • 安装较容易,无需特殊权限。
  • 同步快速,首次同步完全备份,再次同步增量备份。
  • 可以使用scp和ssh等方式传输备份文件
  • 支持匿名传输
  • 选择性保持:符号链接、硬链接、文件属性、权限、时间等
  • 传输速度快:压缩再传输、解压再使用,减少带宽。

rsync采用C/S模式,即点到点的传输。通过xinetd服务监听873端口,再让xinetd服务下的rsync服务作出响应。

源主机:需要同步数据的服务器

目标主机:存放服务器同步数据的主机

数据同步方式:push 和 pull

  • 推push:主动同步,把数据发送给目标主机。服务器开销大,适合后端服务器较少的情况。【服务器备份推给rsync客户端存放,主动模式】

目的主机配置为 rsync 服务端,源主机周期性的使用 rsync 命令把要同步的目录推过去。

  • 拉pull:所有客户端主机去服务器上面拉数据,导致数据传输缓慢。【rsync客户端去服务器上拉数据,存放到客户端上,被动模式】

源主机配置为 rsync 服务端,目的主机周期性的使用 rsync 命令把要同步的目录拉过来。

部署push模式
  • 目标主机配置
vim /etc/rsyncd.conf
port=873
address = 192.168.25.154
uid = root
gid = root
use chroot = yes
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
motd file = /etc/rsyncd.motd
hosts allow = 192.168.25.0/24
[data]
path = /data/backup
comment = bakcup data
read only = false
list = yes
auth users = rsyncuser
secrets file = /etc/rsync.passwd
systectl restart rsyncd
######
mkdir /data/backup
echo 'rsyncuser:123456' > /etc/rsync.passwd 
chmod 600 /etc/rsync.passwd 
echo "Wellcome to backup server" > /etc/rsyncd.motd
  • 源主机
rsync -avz /data/ rsyncuser@192.168.25.153::data###无密码登录
echo 123456 >  /root/passwd
chmod 600 /root/passwd
rsync -avz /data/ rsyncuser@192.168.25.153::data --password-file=/root/passwd

部署pull模式

  • 主机配置
vim /etc/rsyncd.conf
port=873
address = 192.168.25.154
uid = root
gid = root
use chroot = yes
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
motd file = /etc/rsyncd.motd
hosts allow = 192.168.25.0/24
[data]
path = /data
comment = master data
read only = false
list = yes
auth users = rsyncuser
secrets file = /etc/rsync.passwd
########################
mkdir /data
echo 'rsyncuser:123456' > /etc/rsync.passwd 
chmod 600 /etc/rsync.passwd 
echo "Wellcome to data server" > /etc/rsyncd.motd
systemctl start rsyncd
  • 目标主机配置
rsync -avz rsyncuser@192.168.25.154::data /data/backup/
使用rsync+sersync配置实时同步
  • 目标主机
vim /etc/rsyncd.conf
port=873
address = 192.168.25.154
uid = root
gid = root
use chroot = yes
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
motd file = /etc/rsyncd.motd
hosts allow = 192.168.25.0/24
[data]
path = /data/backup
comment = bakcup data
read only = false
list = yes
auth users = rsyncuser
secrets file = /etc/rsync.passwd
#############
systectl restart rsyncd
echo 'rsyncuser:123456' > /etc/rsync.passwd 
chmod 600 /etc/rsync.passwd 
echo "Wellcome to backup server" > /etc/rsyncd.motd
  • 源主机
tar -xf  sersync2.5.4_64bit_binary_stable_final.tar.gz
cd GNU-Linux-x86
mv GNU-Linux-x86 /opt/apps
vim /opt/apps/confxml.xml
##########################################<sersync><localpath watch="/data"><remote ip="192.168.25.153" name="data"/></localpath>
# 开启用户认证,并设置账号和密码 <auth start="true" users="rsyncuser" passwordfile="/root/passwd"/>
##################################################
echo 123456 >  /root/passwd
chmod 600 /root/passwd/opt/apps/GNU-Linux-x86/sersync2 -d -r -o /opt/apps/GNU-Linux-x86/confxml.xml 

相关文章:

  • 内网运行控制四百来个海康威视硬件物联网定员管控软件(华为平板电脑版)
  • 3.5 map_saver地图的保存与加载
  • STM32 定时器讲解
  • 【Bug:docker】--Docker同时部署Dify和RAGFlow出现错误
  • 《汇编语言:基于X86处理器》第2章 复习题
  • 【AI论文】SWE-Factory:您的自动化工厂,提供问题解决培训数据和评估基准
  • Java 正则表达式高级用法
  • 全局数据的处理
  • 设计模式 - 原型模式
  • LTC3130EMSE#TRPBF ADI电子元器件深度解析 物联网/工业传感器首选!
  • RK3568笔记八十五:LVGL播放AVI视频
  • 单服务器部署多个Discuz! X3.5站点并独立Redis配置方案
  • 蜻蜓Q系统的技术演进:从Laravel 6到Laravel 8的升级之路-优雅草卓伊凡
  • NAT基础配置实验
  • Java求职者面试指南:Spring, Spring Boot, Spring MVC, MyBatis技术点深度解析
  • FPGA基础 -- Verilog 概率分布函数
  • 图床项目--展示
  • Linux简单了解以及VM虚拟机的安装使用(后端程序员)
  • 探索算法秘境:量子随机游走算法及其在图论问题中的创新应用
  • Java使用itext pdf生成PDF文档
  • 如何建立游戏网站/在百度做广告多少钱
  • google建设网站赚钱/查询网站信息
  • 西安网站建设公司都有哪些/网络培训
  • 网站的做公司/网页制作软件哪个好
  • 电商网站开发工程师/atp最新排名
  • 网站建设新手如何自己做网站/如何优化网站推广