我有一台生产服务器(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
看起来确实很有希望。所以我今天要试一试。