red*_*sta 14 git git-credential-manager
我一直在为 Linux 寻找一个好的加密 git 凭证助手(可以以加密方式存储密码,并在以后检索它们,符合 git-credential 协议),我真的很惊讶似乎没有多少正在出现。
在我见过的所有 git 文档和相关的 git-credential 文档中,他们甚至没有提到这样的事情的存在。它总是提到 Mac 的 osxkeychain,但是如果您运行的是 Linux,它只会将您重定向到解释如何使用“缓存”作为助手的文档。一些参考资料提到了 Microsoft 用于 Windows 的 git 凭证管理器。但对于 Linux 来说什么都没有。
如果您使用实际密码,使用缓存似乎是一个半好的解决方案。不可怕,但远非理想。但是,如果您使用的是个人访问令牌(如果您想为您的存储库维护帐户的 2 因素安全性,则必须使用它),那么这是不行的。必须偶尔输入那些随机生成的 PAT 之一,无论多么罕见,都是一个非常糟糕的主意。您无法真正记住它们,将它们以纯文本形式存储在某处是一种安全妥协。(另外,如果你想自动化一些 git 操作怎么办?行不通。)
那么 - 这里的解决方案是什么?如果它同时适用于 Windows 和 Mac,我相信至少有一个适用于 Linux 的好选择,可能很多。例如,我听说你可以用 Gnome 做到这一点。但是如果你没有 Gnome,你应该怎么做?我听说微软的 Windows 管理器可以在 Linux 下运行,但还没有尝试过。这是唯一的选择吗?有开源选项吗?
phd*_*phd 16
这是我们在 git 源中的内容:https : //github.com/git/git/tree/master/contrib/credential
所以你可以使用gnome-keyring
(deprecated)libsecret
或 gpg-encrypted .netrc
。
libsecret
我相信可以在没有 GNOME 的任何 Linux 发行版中使用。
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Run Code Online (Sandbox Code Playgroud)
这是如何使用 gpg-encrypted .netrc
:https : //stackoverflow.com/a/18362082/7976758。