加密服务器上的 git 存储库(防止物理硬件被盗)

加密服务器上的 git 存储库(防止物理硬件被盗)

我有一台生产服务器(Ubuntu,全天候运行),上面有一个 git 存储库,还有一些客户端计算机,每台计算机都有此存储库的工作副本。在客户端计算机中,只需使用主文件夹加密似乎就可以解决硬件被盗时无人能够访问 git 中的文件的问题。

我如何加密 git 存储库的远程端,以确保在硬件被盗的情况下没有人可以重新配置和克隆 git 存储库?

一开始我想到加密 git 用户的主目录,但是后来我意识到这没有任何意义,因为什么时候、由谁来解密?

我可以将 git 存储库放在我自己的主目录中/链接到它,以便只有通过 SSH 登录服务器时才可用吗?或者对这个问题有类似的解决方案?

提前感谢任何提示!

答案1

您可以使用电子加密的主目录。您必须登录并手动安装加密驱动器,并在服务器重新启动时提供解密密钥。由于显而易见的原因,您无法自动安装驱动器。

答案2

您可以使用 smudge/clean 过滤器来加密远程文件系统上存储库的内容:https://gist.github.com/873637

答案3

你可以使用git-remote-gcryptgit push客户端计算机与服务器(或任何其他地方)之间git fetch的数据交换。不仅内容,而且文件的名称和其他(所有?)存储库元数据也都经过加密。

答案4

我还没有尝试过,但我目前正在研究如何使用gcrypt加密 git 存储库的内容:https://github.com/AGWA/git-crypt

看起来确实很有希望。所以我今天要试一试。

相关内容