我的本地 git clone 中有多个遥控器。 两个遥控器都使用 https 连接到 git 并且需要不同的凭据。 我正在使用 codecommit,因此使用 codecommit credential-helper 作为凭据。 有没有办法可以为不同的根使用单独的凭证助手。 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我一直在为 Linux 寻找一个好的加密 git 凭证助手(可以以加密方式存储密码,并在以后检索它们,符合 git-credential 协议),我真的很惊讶似乎没有多少正在出现。
在我见过的所有 git 文档和相关的 git-credential 文档中,他们甚至没有提到这样的事情的存在。 它总是提到 Mac 的 osxkeychain,但是如果您运行的是 Linux,它只会将您重定向到解释如何使用“缓存”作为助手的文档。 一些参考资料提到了 Microsoft 用于 Windows 的 git 凭证管理器。 但对于 Linux 来说什么都没有。
如果您使用实际密码,使用缓存似乎是一个半好的解决方案。 不可怕,但远非理想。 但是,如果您使用的是个人访问令牌(如果您想为您的存储库维护帐户的 2 因素安全性,则必须使用它),那么这是不行的。 必须偶尔输入那些随机生成的 PAT 之一,无论多么罕见,都是一个非常糟糕的主意。 您无法真正记住它们,将它们以纯文本形式存储在某处是一种安全妥协。 (另外,如果你想自动化一些 git 操作怎么办?行不通。)
那么 - 这里的解决方案是什么? 如果它同时适用于 Windows 和 Mac,我相信至少有一个适用于 Linux 的好选择,可能很多。 例如,我听说你可以用 Gnome 做到这一点。 但是如果你没有 Gnome,你应该怎么做? 我听说微软的 Windows 管理器可以在 Linux 下运行,但还没有尝试过。 这是唯一的选择吗? 有开源选项吗?
这是我们在 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
请参阅https://stackoverflow.com/a/40312117/7976758 。
这是使用 gpg 加密的.netrc
: https : //stackoverflow.com/a/18362082/7976758 。
如果您已经使用了诸如 1Password 或 Lastpass 或 pass 或 gopass 之类的密码管理器,只要您仅在本地系统或您信任的系统上使用它,您就可以使用它来管理您的 git 凭据。
我进行了快速搜索,并为上述每个找到了一些git-credential-APPNAME
助手(gopass 应该与 pass 实现兼容)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.