使用Git存储密码有多安全?

dk1*_*k14 18 linux git security macos

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

PS无法使用密钥身份验证,因为我们的服务器不允许这样做.

dk1*_*k14 44

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的gnome-keyring帮助程序(感谢@jazakmeister的建议)

  • 使用netrc gpg加密的凭证帮助程序:http://stackoverflow.com/a/18362082/6309.适用于任何平台,Windows,OsX,Linux. (3认同)
  • 还有一个gnome-keyring助手. (3认同)
  • 如何在 Windows 中加密存储密码? (3认同)