通过 ssh 进行 rsync - 服务器上加密

通过 ssh 进行 rsync - 服务器上加密

我有以下设置:

Windows rsync -> ssh -> rsync Linux

每个用户都有不同的 ssh 密钥,因此只有用户和 Linux 管理员可以访问服务器上的用户文件。使用该方法时,服务器上的文件不会加密。

现在,我想在该解决方案的基础上进行构建,并确保只有用户自己可以访问他的文件,而不是 Linux 服务器的管理员(root)。

此时,唯一的解决方案是:在客户端加密然后推送到服务器,当文件在客户端已经加密时,如何使用 rsync。

有没有办法加密服务器上的卷或文件夹,并且只有用户才能访问该文件夹(使用某些密钥)。

有什么建议 ?

洛朗

答案1

您正在寻找表里不一

Duplicity 在客户端上创建输入数据的加密压缩备份,并通过 librsync / ssh 传输。它会创建增量备份,这样尽管使用了加密,它仍然可以以最小的带宽消耗传输增量。这样做的好处是,您可以每天备份,但仍然可以访问 n 天前的版本。

答案2

“现在,我想在此解决方案的基础上进行构建,并确保只有用户自己可以访问他的文件,而不是 Linux 服务器的管理员(root)。”

我认为这将非常困难,甚至几乎不可能。我的逻辑是,如果解密发生在服务器上,root 用户可能可以获取密码或密钥。读了你写的内容,你可能已经考虑到了这一点,但只是想澄清一下。

例如,root 用户登录后,可以使用 strace 轻松捕获解密的 ssh 密码,请参阅这篇文章将教你如何

我认为您想要的是某种端到端加密,其中服务器上不会发生解密。 基努是一个很好的工具。

答案3

您需要谨慎实施您能看得见的解决方案。如果您允许普通公众和/或您的公司加密数据而无法存储数据,您可能会陷入不利的法律境地。

如果这些人是你的员工,你应该把钥匙交给他们并托管。如果这些人是公众,你需要咨询律师。

相关内容