通过中间服务器 SSH Rsync 到远程服务器

通过中间服务器 SSH Rsync 到远程服务器

我在一台 Linux 服务器(服务器 A)上,我可以通过 SSH 连接到另一台 Linux 服务器(服务器 B)。一旦进入服务器 B,我就可以通过 SSH 连接到另一台 Linux 服务器(服务器 C)。因此,基本上,服务器 A 不能直接与服务器 C 通信,除非经过服务器 B。问题如下:我需要 rsync 服务器 A 和 C,由服务器 A 上的脚本启动。

有什么建议么?

答案1

这不是最优雅的解决方案,但是您可以通过服务器 B 创建到服务器 C 的 ssh 隧道(此命令在后台创建 ssh 隧道,因此您必须在完成 rsyncing 后费心终止它):

ssh -f -N -L 2222:<C>:22 <username>@<B>

然后只需告诉rsync连接到localhost:2222而不是<C>:22

当然,你可以指定任何其他临时端口来代替 2222

相关内容