我在工作场所使用 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的建议)