如何安全地保存git凭据?

时间:2017-02-16 21:10:29

标签: git credentials

我最近一直在寻找如何在 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凭证的其他解决方案吗?

1 个答案:

答案 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 9c109e9Dennis Kaarsemaker (seveas)(2017年11月3日) Junio C Hamano -- gitster --于2017年11月9日commit 906329f合并)

  

credential-libsecret:解锁锁定的秘密

     

可以锁定秘密服务DBUS接口公开的凭据   设置SECRET_SEARCH_UNLOCK标志将使秘密服务解锁这些秘密,可能会提示用户提供凭据。
  如果没有这个标志,就不会加载秘密。