我最近一直在寻找如何在 CentOS 7 中安全保存git凭据的解决方案。
我想保存多个git存储库的凭据。
我提出的解决方案是将 gnome-keyring 与任何版本的git一起使用。但我遇到了一些问题。我发现很多帖子说它在 Redhat 7 或 Centos 7 中不是一个好的解决方案。它将被弃用。
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyrin
但是这对我没用,使用git时出错:
与gnome-keyring-daemon进行通信时出错
然后我将git升级到最后一个版本 2.11 + 以使用libsecret,这似乎更容易使用。
我做了同样的事情。
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
这似乎按预期工作。我的问题是这是一个安全保存git凭据的好方法吗?你知道在CentOS机器上保存git凭证的其他解决方案吗?
答案 0 :(得分:3)
这是安全保存git凭据的好方法吗?
是的,正如我记录在" Error when using Git credential helper with gnome-keyring as Sudo" libsecret实现了XDG Secret Service API。
这是目前使用的官方图书馆。
更新Git 2.15.x / 2.16(2018年第一季度),其中 libsecret (在contrib/
)的凭证帮助已经改进,以允许最终用户解除秘密目前已被锁定(否则可能无法加载秘密)。
commit 9c109e9见Dennis Kaarsemaker (seveas
)(2017年11月3日)
(Junio C Hamano -- gitster
--于2017年11月9日commit 906329f合并)
credential-libsecret
:解锁锁定的秘密可以锁定秘密服务DBUS接口公开的凭据 设置
SECRET_SEARCH_UNLOCK
标志将使秘密服务解锁这些秘密,可能会提示用户提供凭据。
如果没有这个标志,就不会加载秘密。