我一直在寻找一个好的加密git凭证助手来运行在Linux上(可以以加密方式存储密码,并在后续中检索密码,符合git-credential协议),但令人惊讶的是并没有找到多少相关资料。
在所有的git文档和相关的git凭证文档中,它们甚至没有提到这样一个存在。对于Mac,它总是提到osxkeychain,但如果你使用Linux,它只会将你重定向到解释如何使用“cache”作为辅助工具的文档。一些参考文献提到了微软的git凭据管理器用于Windows,但对于Linux则完全没有相关信息。
如果你使用实际密码,“cache”看起来是一个半可接受的解决方案。虽然不算太糟糕,但离理想还有很大差距。但是,如果你使用个人访问令牌(如果您希望为您的repo帐户保持2因素安全性,则必须使用此功能),则"cache"就无法胜任了。偶尔需要输入这些随机生成的PAT,无论频率多低,都是一个非常糟糕的想法。你不可能真正记住它们,并且在明文形式下存储它们是一种安全妥协。(另外,如果你想自动化一些git操作,存储PAT也是不可行的。)
那么,解决方案是什么呢?如果有一个适用于Windows和Mac的解决方案,我相信至少有一个很好的Linux选项,可能有很多。例如,我听说你可以使用Gnome来完成它。但是如果你没有Gnome,应该怎么办?我听说微软的Windows管理器可能在Linux下运行,但还没有尝试过。那是唯一的选择吗?是否有一个开源的选择?
git config --global credential.helper libsecret
命令吗?对我来说很有效。 - janispritzkaulibsecret
而是git-credential-libsecret
,由于它不在/usr/local/bin
或者/usr/bin
下面,所以git
可能无法通过libsecret
找到它。我已经尝试在一个非标准系统上只使用libsecret
但没有成功,但希望对大多数人来说可以。 - dragon788gnome-keyring
软件包来避免错误** (process:12939): CRITICAL **: 12:15:04.448: lookup failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files
。在 Buster 上,您还需要编译git-credential-libsecret
。 - bogec/usr/lib/git-core/git-credential-libsecret
(否则,您可以通过运行locate -b git-credential-libsecret
来找到它)。 - joeytwiddle/usr/libexec/git-core/git-credential-libsecret
。它由git-credential-libsecret
软件包提供。 - killjoy