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

时间:2015-01-23 06:58:38

标签: linux macos git security

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

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

1 个答案:

答案 0 :(得分:40)

git config credential.helper store不是很安全;正如它在documentation中所说的那样:

  

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

     

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

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

  

您可以编写自己的自定义帮助程序以与任何系统进行交互   你保留凭据。请参阅Git的文档   credentials API了解详情

此外,@ VonC指向跨平台GPG-based solution。另请参阅this question关于.netrc文件。

Linux也有gnome-keyring helper(感谢@jazakmeister的建议)