在隐藏在 VPN 后面的服务器之间复制文件

在隐藏在 VPN 后面的服务器之间复制文件

我正在考虑如何有效地将文件(> 500GB)从一台机器复制到另一台机器(两台机器都运行Linux)。这里的挑战是两台机器只能在单独的 VPN 后面使用:一台是 OpenVPN(office1,我希望保持不变),另一台尚未确定(office2,超出我的控制范围)

通常,为了 ssh/scp/rsync 到这些机器中的任何一台,我会将笔记本电脑连接到相应的 VPN,然后在 ssh/scp/rsync 命令中使用机器的本地 IP:

ssh -i ~/.ssh/o1_username [email protected]
scp -i ~/.ssh/o1_username whatever.file [email protected]:~/
rsync -ae "ssh -i ~/.ssh/o1_username" --info=progress2 whatever.file [email protected]:~/

但是,我对如何将文件从其中一台机器传输到另一台机器感到困惑...以下是我可以设想的一些解决方法,但没有一个是完全令人满意的:

  1. 我在 office2 中有一个树莓派,运行 ngrok 以进行全局 ssh 访问。我可以用它作为ssh跳转主机来连接。这是低效的,因为 ngrok 和 pi 都会成为带宽瓶颈:
ssh -i ~/.ssh/pi -t -p 12345 [email protected] ssh -i ~/.ssh/o2_username -p 1022 [email protected]
scp -r -o ProxyCommand="ssh -i ~/.ssh/pi -p 12345 [email protected] -W 123.123.123.123:1022" -i ~/.ssh/o2_username whatever.file [email protected]:~/
  1. 我可以分两步传输文件,首先将它们复制到我的笔记本电脑或云驱动器上,然后复制到目标计算机上。这看起来有点笨拙,而且应该没有必要,因为 VPN 应该使连接更容易
  2. 我有一个用于全局 ssh 访问的 FRP 设置对于 office1 中的计算机,但我在设置 office1 VPN 时将其删除,认为它现在已经过时了。我可以将其重新设置并通过它传输 ssh/scp。然而,我担心这个解决方案会受到我设置的 FRP 服务器的瓶颈。我还需要通过该连接支付网络流量费用,因此我不认为它是一个非常可持续的高容量解决方案。
  3. 我也许可以使用office2中的机器连接到office1中的VPN,但我还没有弄清楚如何使用Linux命令行连接VPN,并且我担心会干扰Office2上其他用户/应用程序的互联网连接office2 中的机器(反之亦然)

如何才能最好地利用可用的 VPN 在两个办公室之间传输文件,而不影响其他用户和我自己的其他正在运行的应用程序的互联网设置?它甚至可能/合理吗?

(出于安全原因,用户名、端口号和 IP 已被混淆)

答案1

长话短说:如果您想在两台机器之间直接复制文件,它们需要相互直接连接。所以,只有第四种选择似乎是明智的。无论这意味着您将一台机器添加到另一台机器的 VPN 中,还是仅拥有两台机器均可访问的第三台机器,并为这两台机器创建第三个“迷你 VPN”,效果总是相同的:只要您仅设置另一台计算机通过该 VPN 连接的路由,不会影响其他任何内容的路由。

如果你确实为了这个目的而选择迷你VPN,我会得到你能找到的最便宜的VM(Oracle的免费VM层在带宽方面非常棒),并在那里放置一个最小的wireguard设置——这很好,它配备了当前的 Linux 内核(并且基本上可用于任何操作系统,包括移动和商业非 Unix),不需要额外的设置,但可以启用 IP 转发,并总共创建三个密钥(运行两个命令行),并且就是这样。我思考你的玻璃钢也做了同样的事情(从来没有听说过!),但效率较低。

相关内容