我在工作场所使用Git,公司政策不允许我以不安全的方式存储密码。 有没有比使用git config credential.helper store
来存储Git服务器密码更好的select?
PS不能使用密钥validation,因为它不允许在我们的服务器上。
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的建议)