使用 Git 存储密码的安全性如何



我在工作场所使用 Git,公司政策不允许我以不安全的方式存储密码。有没有比使用 git config credential.helper store 将密码存储到 Git 服务器更好的选择?

附言不能使用密钥身份验证,因为我们的服务器不允许这样做。

git config credential.helper store不是很安全;正如文档中所说:

使用此帮助程序将把未加密的密码存储在磁盘上, 仅受文件系统权限保护

~/.git-credentials文件将设置其文件系统权限,以防止系统上的其他用户读取它,但不会被加密或以其他方式保护。

因此,它会按原样存储您的密码。Git 允许将钥匙串git config --global credential.helper osxkeychain用于 OSX,因此它似乎更安全。对于 Linux 系统,您可以使用 git config credential.helper cache ,它将密码存储在您的内存中。或者你可以按照git help credentials中所说的那样写你自己的:

您可以编写自己的自定义帮助程序,以与 您保留凭据。请参阅 Git 的文档 凭据 API 详细信息

此外,@VonC指出了基于跨平台GPG的解决方案。另请参阅有关 .netrc 文件的问题。

还有适用于Linux的侏儒密钥环助手(感谢@jazakmeister的建议)

最新更新