vs code如何ssh登录阅读文件_Rsync利用SSH加密隧道同步文件,保障传输安全

请关注本头条号,每天坚持更新原创干货技术文章。
如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习

1. 前言

本文主要讲解Linux系统中的Rsync如何利用SSH加密隧道同步文件。

在网络系统之间传输或同步文件时,Linux和Unix用户可以使用很多工具。

c61a001aa38e484228bf9ba52561e68b.png

Rsync如何利用SSH加密隧道同步文件

最流行的数据传输协议是SSH和FTP。虽然FTP非常流行,但我总是更喜欢使用SSH,因为它是同步或传输文件的最安全的方式。

有一些专门的工具可以在SSH上传输文件,比如scp和sftp,但是没有一个具有rsync提供的所有特性。rsync可以用于镜像数据、增量备份、在系统之间同步和复制文件等等。

在本教程中,我们将解释如何通过SSH使用rsync同步和复制文件。

2. Rsync加密同步文件前提条件

b451bf0e01d9e780a56e27f3371531ef.png

Rsync加密同步文件前提条件

  • SSH可以访问远程计算机。
  • 运行rsync命令的用户和远程SSH用户必须具有读取和写入文件的适当权限。

rsync实用程序必须同时安装在目标服务器系统和源服务器系统上。即Rsync有服务端和客户端。
如果没有安装,可以使用发行版的包管理器安装:

Ubuntu和Debian系统:

sudo apt install rsync

CentOS和Fedora系统:

sudo yum install rsync

3. 利用SSH加密隧道同步文件或传输流量

使用rsync,您可以利用SSH加密隧道将文件和目录从远程服务器传输到远程服务器。

a2028e4cee095bdbe0557fbe6d151112.png

利用SSH加密隧道同步文件或传输流量

使用rsync传输文件的一般语法如下:

Local to Remote: rsync [OPTION]... -e ssh [SRC]... [USER@]HOST:DESTRemote to Local: rsync [OPTION]... -e ssh [USER@]HOST:SRC... [DEST]

其中SRC是源目录,DEST是目标目录,USER是远程SSH用户名,HOST是远程SSH主机或IP地址。

最新版本的rsync被配置为使用SSH作为默认远程shell,因此可以省略-eSSH选项。

例如,要将一个文件/opt/file.zip从本地系统传输到IP为10.1.1.1的远程系统的/var/www/目录,您需要运行:

rsync -a /opt/file.zip user@10.1.1.1:/var/www/

-a选项代表存档模式,它将递归地同步目录、传输特殊和块设备、保存符号链接、修改时间、组、所有权和权限。

如果您还没有为远程机器设置无密码SSH登录,系统将提示您输入用户密码。
ssh免密码登录的教程可以参考这里:

ssh免密码登录

如果文件存在于远程服务器上,那么它将被覆盖。如果您想将文件保存在另一个名称下,请指定新名称:

rsync -a /opt/file.zip user@10.1.1.1:/var/www/file2.zip

要将数据从远程传输到本地机器,使用远程位置作为源,本地位置作为目标:
执行以下命令:

rsync -a user@10.1.1.1:/var/www/file.zip /opt/

在SSH上使用rsync传输目录与传输文件相同。

重要的是要知道,rsync对后面带有斜杠/的源目录提供了不同的处理。当源目录后面有一个斜杠时,rsync将只将源目录的里面的内容复制到目标目录。当省略后面的斜杠时,源目录将会被复制到目标目录中。

例如,要将本地/opt/website/images/目录传输到远程机器上的/var/ww /images/目录,您可以输入:

rsync -a /home/zcwyou/images/ user@10.1.1.1:/var/www/images/

如果要同步本地和远程目录,请使用--delete选项。使用此选项时要小心,因为如果目标目录中不存在源目录中的文件,它将删除这些文件。

rsync -a --delete /home/zcwyou/images/ user@10.1.1.1:/var/www/images/

如果远程主机上的SSH监听的端口不是默认的22,那么使用-e选项指定端口。例如,如果SSH正在监听端口1234,您将使用:

rsync -a -e "ssh -p 1234" /home/zcwyou/images/ user@10.1.1.1:/var/www/images/

当传输大量数据时,建议在屏幕会话中运行rsync命令,或者使用-P选项,告诉rsync在传输过程中显示一个进度条,并保存部分传输的文件:

rsync -a -P /home/zcwyou/images/ user@10.1.1.1:/var/www/images/

4. 总结

b2e2669377c24d570847fe51c9a1d459.png

总结如何在SSH加密隧道上的利用rsync工具来复制和同步文件和目录


通过本文,我们已经学习了如何在SSH加密隧道上的利用rsync工具来复制和同步文件和目录。

如果你有任何问题,请留下你的意见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值