我们将生产服务器备份到办公服务器,以进行额外的离线备份,以防万一。此备份是通过端口 873 使用 rsync 完成的,并且不需要像通过 ssh 使用 rsync 那样登录。我尝试从私人服务器执行此操作,看看是否可行,但不行。
我还没有设置这个,管理员已经走了,我想知道这是如何工作的。这有多安全?
答案1
第一次需要在私有服务器中创建密钥并在办公室服务器中共享密钥。您可以按照下面的方法进行操作。
在您的私人服务器中,执行以下步骤。
$ ssh-keygen
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
注意:当它要求您输入密码时,只需按回车键即可,不要在此处输入任何密码。
使用ssh-copy-id
, 将公钥复制到远程主机。
ssh-copy-id -i ~/.ssh/id_rsa.pub office-server
现在,
rsync -rvz -e 'ssh -p 873' --progress --remove-sent-files /private_server
/files/ user@office_server:/office_server/directory
如果您只是运行rsync
命令而不复制密钥,它会要求输入密码。为了阻止它询问密码,您必须在办公室服务器中共享您的私有服务器的密钥,以便您可以使用rsync
端口发送文件而873
无需密码。
参考
http://www.thegeekstuff.com/2011/07/rsync-over-ssh-without-password/
答案2
设置如下:
- 办公室服务器具有通过端口 873 接受连接的 rsync。
- 端口转发设置为将 873 流量路由到此服务器。
- 添加
/etc/rsyncd.conf
一个模块以允许从生产服务器 IP 地址到本地服务器上的文件夹的流量。 - Iptables 已更新,以允许来自生产服务器 IP 地址的端口 873 和 22 的流量。
显然这个同步是未加密的,所以最好像 Ramesh 建议的那样通过 ssh 进行传输。