我不太了解 rsync、SSH、stunnel 等的具体细节,但我正在寻找一种进行 rsync 备份的方法,但通过网络传输数据必须加密(凭证和数据本身)。看来我有两个选择(我还有其他选择吗?):
- rsyncd + stunnel:在远程机器上运行 rsync 守护程序,并设置 stunnel 来加密它们之间的通信(其中 stunnel 是必需的,因为 rsyncd 本身没有加密)
- 通过 SSH 进行 rsync:只需使用常规 rsync 命令并将 SSH 设置为远程 shell,即可加密通信。
从安全性、速度、效率、易于管理等角度来看,每种方法的优缺点是什么?
答案1
我认为这最终会成为个人偏好的答案,但我更喜欢 rsync+ssh 解决方案,因为
- 这些天总是安装 ssh,但 stunnel 并不总是可用的。
- 我不需要再管理另一项服务(我已经在管理 sshd 了)
- 如果需要的话,我的所有故障排除都会在一个终端窗口中进行(ssh 上的 -vvv)
示例命令rsync -av -e ssh user@host:/remote/dir /this/dir/
最后,您至少还有一个选择:VPN。设置一次后,它的优点是,当您使用普通的 rsync 和您想要执行的任何其他机器对机器通信时,它是透明的。我最初认为如果其中一台机器被黑客入侵,这将是一个问题,但在这方面,它与使用 ssh/stunnel 没有什么不同。