Linux 的最佳加密 git 凭据助手是什么?

What's the best encrypted git credential helper for Linux?

我一直在为 Linux 寻找一个好的加密 git 凭据助手(可以以加密方式存储密码并稍后检索它们的东西,符合 git-credential protocol),我真的很惊讶似乎没有太多出现。

在我看到的所有 git 文档和相关的 git-credential 文档中,他们甚至没有提到这种东西的存在。它总是提到 Mac 的 osxkeychain,但是如果你 运行 宁 Linux 它只是将你重定向到解释如何使用 "cache" 作为助手的文档。一些参考资料提到 Microsoft 的 git 凭据管理器用于 Windows。但是 Linux.

什么都没有

如果您使用实际密码,使用缓存似乎是一个半好的解决方案。 不可怕,但远非理想。但是,如果您使用的是个人访问令牌(如果您想在您的回购帐户上维护 2 因素安全性,则必须使用它),那么这是不行的。不得不偶尔输入其中一个随机生成的 PAT,无论多么不频繁,都是一个非常糟糕的主意。您实际上无法记住它们,将它们以纯文本形式存储在某处是一种安全妥协。 (此外,如果您想自动执行某些 git 操作怎么办?行不通。)

那么--这里的解决方案是什么?如果 Windows 和 Mac 都存在,我相信 Linux 至少有一个不错的选择,可能很多。例如,我听说您可以使用 Gnome 来做到这一点。但是,如果您没有 Gnome,您应该怎么办?听说微软的manager for Windows 可能运行 under Linux,但是还没试过。那是唯一的选择吗?有开源选项吗?

这是我们在 git 来源中的内容:https://github.com/git/git/tree/master/contrib/credential

因此您可以使用 gnome-keyring(已弃用)、libsecret 或 gpg 加密的 .netrc

libsecret 可以在没有 GNOME 的任何 Linux 发行版中使用,我相信。

git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

参见

这是使用 gpg 加密的方法 .netrc:。

如果您已经在使用 1Password 或 Lastpass 或 pass 或 gopass 等密码管理器,您可以使用它来管理您的 git 凭据,只要您仅在本地系统或您自己的系统上使用它信任。

我进行了快速搜索,并为上述各项找到了一些 git-credential-APPNAME 助手(gopass 应该与 pass 实现兼容)。