如何安全保存git凭据?

Str*_* B. 5 git credentials

我最近一直在寻找有关如何在CentOS 7中安全保存git凭证的解决方案。

我想保存多个git存储库的凭据。

我想出的解决方案是对任何版本的git 使用gnome-keyring。但是我遇到了一些问题。我发现很多帖子说这不是Redhat 7Centos 7的好解决方案。并且它将被弃用。

git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyrin  
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用,使用git时出错:

与gnome-keyring-daemon通信时出错

然后我升级了git的最新版本2.11+以使用libsecret,这似乎更易于使用。

我做过同样的事情。

git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Run Code Online (Sandbox Code Playgroud)

这似乎按预期工作。我的问题是,这是安全保存git凭据的好方法吗?您是否知道将CentOS凭证保存在CentOS计算机上的其他解决方案?

Von*_*onC 6

这是安全保存 git 凭据的好方法吗?

是的,正如我在“使用 Git 凭证助手和 gnome-keyring 作为 Sudo 时出错”中所述。
libsecret 实现XDG 秘密服务 API

它是当前使用的官方库。


更新 Git 2.15.x/2.16(2018 年第一季度),其中libsecret (in contrib/)的凭证助手已得到改进,以允许可能提示最终用户解锁当前锁定的机密(否则可能无法加载机密)。

请参阅Dennis Kaarsemaker ( ) 的提交 9c109e9(2017 年 11 月 3 日(由Junio C Hamano合并-- --提交 906329f 中,2017 年 11 月 9 日)seveas
gitster

credential-libsecret:解锁锁定的秘密

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