使用rsync通过多级SSH复制文件

arp*_*pit 7 linux ssh bash rsync

我需要将大约4.2 GB的文件从我传输local computer到a server B.但是要ssh到服务器B,我需要ssh into server A.

目前,我从我的文件复制local computer到服务器A,然后从server Aserver B.

所以流程如下:

rsync -avz --del ~/Desktop/abc/ <my-user-name>@<server-A>:~/abc

rsync -avz --del ~/Desktop/abc/ <my-user-name>@<server-B>:~/abc

这很慢,并且两次复制4.2 gb数据而不是一次!

rsync可以直接从本地计算机传输文件server B吗?

Jak*_*uje 9

您始终可以使用sshproxy命令,该命令允许您透明地传输文件.使用此配置(〜/ .ssh/config):

Host <server-A>
    User <user-A>

Host <server-B>
    User <user-B>
    ProxyCommand ssh <server-A> -W %h:%p
Run Code Online (Sandbox Code Playgroud)

你可以调用你的rsync:

rsync -avz --del ~/Desktop/abc/ <server-B>:~/abc
Run Code Online (Sandbox Code Playgroud)

数据将仅在中间主机上"路由".