我在工作中使用 Git,公司政策不允许我以不安全的方式存储密码。除了使用 git config credential.helper store
将密码存储到 Git 服务器之外,是否有更好的选择?
顺便说一句,由于我们的服务器不允许使用密钥身份验证,因此不能使用它。
git config credential.helper store
不是很安全;正如 documentation 中所说:
使用此助手将在磁盘上存储您的密码,未加密, 仅由文件系统权限保护
~/.git-credentials 文件将设置其文件系统权限,以防止系统上的其他用户读取它,但不会被加密或以其他方式受到保护。
因此,它会将您的密码存储为原始密码。Git 允许在 OSX 上使用您的钥匙串 git config --global credential.helper osxkeychain
,因此似乎更安全。对于 Linux 系统,您可以使用 git config credential.helper cache
,它将密码存储在内存中。或者,您可以按照 git help credentials
中所述编写自己的帮助程序:
此外,@VonC指出了基于GPG的跨平台解决方案。另请参阅有关.netrc文件的此问题。您可以编写自己的自定义助手,与任何保存凭据的系统进行接口。有关详细信息,请参见 Git 的credentials API文档
git config credential.helper cache
,然后git pull要求输入凭据。再次运行git pull,没有要求输入凭据。它有效。 - julianm
https
。 我不能更改它,因为这是公司政策。 - dk14https
。 - Schwern