我在一台 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