如何在远程远程主机上使用 rsync

Ber*_*ard 5 ssh-tunneling rsync synchronization

我是一个快乐的用户,rsync -e ssh并使用它来同步我的机器和远程主机之间的数据

rsync -avz -e ssh me@hostA:~/folder ~/folder
Run Code Online (Sandbox Code Playgroud)

这做了我现在需要的。

我现在正在使用访问有点复杂的配置。假设 now~/folder已打开hostB,但hostB不能从我的机器直接访问,而只能通过 间接访问hostA

因此,如果我只想查看hostB. 我首先需要 ssh 到hostA,然后到,然后hostB我可以~/folder在远程主机上看到我的文件。

我现在的问题是,rsync直接在我的机器和hostB?

不幸的是,这是我需要使用的配置。假设不可能将数据临时存储在hostA其自身上。

Ulr*_*gel 9

看看如何使用 ssh 通过另一台电脑连接到一台电脑

您创建一个~/.ssh/config名为 tunnelb的新条目:

Host tunnelb
HostName hostB
User user
ProxyCommand ssh user@hostA nc %h %p
Run Code Online (Sandbox Code Playgroud)

如果您有最新版本的 ssh,则可以Proxycommand ssh user@hostA -W %h:%p改用。这是首选,因为它不依赖于nc

现在您可以使用rsync -e ssh tunnelb:~/folder ~/folder,因为它将使用~/.ssh/config.