我在同一个数据中心有两个Linode。 我想每晚或按需复制文件(大约下个月,直到这个项目完成)。 所以我想使用rsync。
我的问题是如何设置两个Linode服务器通过私有IP地址进行安全通信? 两台服务器都通过了SSH加固,他们使用了denyhosts,并且具有相当严格的iptables安装。
我知道我需要先为每台服务器分配私有IP地址,然后按照本指南configuration静态networking。
下一步是什么? 需要什么SSH或iptables设置来允许这两个服务器进行通信?
在这个问题上我需要提供什么更多信息? 我正在寻找如何做到这一点的基本一步一步的指导。
当你使用Linux时,你拥有所有你需要的工具。 只需使用rsync通过SSH
rsync -avz -e ssh user@remotehost:/remote/dir /this/dir/
不需要专用IP等等,因为这端到端encryption您的stream量。
正如ErikA的评论中所提到的,在Linode中使用专用IP的一个优点是您不需要在专用networking上支付带宽。 我的问题的重点是要问如何用私有IP来做到这一点。 所以我正在用我最终使用的解决scheme回答自己的问题。
需要什么SSH或iptables设置来允许这两个服务器进行通信?
没有需要改变。 伊恩是对的。 通信仍然通过相同的端口,并且该端口已经在iptables中打开。 即使这个服务器是“SSH硬化”,当使用私有IP而不是公用IP时,不需要改变。
正如我原来的问题所述,我打算使用rsync – 这最终成为最终的解决scheme。 但是使用自定义端口和密钥文件需要引用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
弄清楚引号的必要性,引号内的部分是对整个事物的唯一小挑战。 它比我想象的要容易得多。
除非Linode可以为您提供专用VLAN,否则使用内部IP不会使其更安全。
您最简单的解决scheme是在两台机器之间build立一个简单的OpenVPN隧道,然后通过它发送您的rsyncstream量。 你甚至可以使用rsf这样的弱密码来加快速度,因为encryption将由VPN隧道本身来处理。
OpenVPN有很多非常简单的指南,使用x509证书进行身份validation,在Linux上,您可以在几分钟内完成设置。