同一数据中心 (Linode) 内的两个 Linux 服务器之间的安全复制(文件传输)

同一数据中心 (Linode) 内的两个 Linux 服务器之间的安全复制(文件传输)

我在同一个数据中心有两个 Linode。我想每晚或按需将文件从一个复制到另一个(大约下个月,直到这个项目完成)。所以我正在考虑使用 rsync。

我的问题是如何设置两个 Linode 服务器以通过私有 IP 地址安全地进行通信? 这两个服务器都经过 SSH 强化,它们使用拒绝主机并且具有相当严格的 iptables 设置。

我知道我需要首先为每个服务器分配私有 IP 地址,然后根据以下配置静态网络本指南

下一步是什么?需要哪些 SSH 或 iptables 设置才能允许这两个服务器进行通信?

在这个问题中我需要提供哪些进一步的信息?我正在寻找有关如何执行此操作的基本分步指南。

答案1

由于您使用的是 Linux,因此您拥有所需的所有工具。只需通过 ssh 使用 rsync 即可

rsync -avz -e ssh user@remotehost:/remote/dir /this/dir/

不需要私有 IP 等,因为这会对您的流量进行端到端加密。

答案2

正如 ErikA 在评论中提到的,在 Linode 中使用私有 IP 的一个好处是您无需为其私有网络的带宽付费。我的问题的重点是询问如何使用私有 IP 来实现这一点。所以我用我最终使用的解决方案来回答我自己的问题。

需要什么 SSH 或 iptables 设置才能允许这两个服务器进行通信?

无需更改。Iain 是对的。通信仍然通过相同的端口进行,并且该端口已在 iptables 中打开。即使此服务器是“SSH 强化的”,当使用私有 IP 而不是公共 IP 时也无需进行任何更改。

正如我在最初的问题中所述,我确实计划使用 rsync —— 这最终成为了最终的解决方案。但使用自定义端口和密钥文件需要引用命令的 ssh 部分,如下所示:

rsync -av -e "ssh -p 222 -i /home/user/.ssh/id222_rsa" /this/dir/ --delete-excluded --exclude-from=my_exclude_list.txt [email protected]:/remote/dir

弄清楚为什么需要引号以及引号中包含哪些部分是整个过程中唯一的小挑战。结果比我想象的要容易。

答案3

除非 Linode 可以为您提供私有 VLAN,否则使用内部 IP 不会使其更安全。

最简单的解决方案是在两台机器之间设置一个简单的 OpenVPN 隧道,然后通过该隧道发送 rsync 流量。您甚至可以使用弱密码(如 arcfour)和 rsync 来加快速度,因为加密将由 VPN 隧道本身处理。

有很多非常简单的指南适用于使用 x509 证书进行身份验证的 OpenVPN,在 Linux 上,您可以在几分钟内完成设置。

以下是一个简单的指南http://www.smallnetbuilder.com/security/security-howto/30353-how-to-set-up-a-site-to-site-vpn-with-openvpn

相关内容