Error when using Git credential helper with gnome-keyring as Sudo
我在寻找一种安全地存储凭证的方法,同时连接到使用SSL的Git服务器。我在@james ward处看到这个建议(我所做的唯一编辑是更新了我们的"系统"配置,而不是我们的"全局"配置(https://stackoverflow.com/a/14528360/6195194)
1 2 3 4 | sudo apt-get install libgnome-keyring-dev cd /usr/share/doc/git/contrib/credential/gnome-keyring sudo make git config --system credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring |
我就可以跑了
1 | git clone https://ipaddress/git/repo.git |
号
但是,当我运行以下命令时,凭证帮助程序将存储我的凭证:
1 | sudo git clone https://ipaddress/git/repo.git testfolder |
它给了我以下错误
1 | ** (process:3713): CRITICAL **: Error communicating with gnome-keyring-daemon |
。
有时我需要运行sudo git clone,因为有时我需要创建克隆的目录需要它。任何帮助都将不胜感激。
我使用的版本:-Git版本1.9.1-Ubuntu服务器14.0.4
提前谢谢!-理查德O。
除了使用sudo之外,注意2016年,
Git 2.11+(2016年第4季度)将包括使用
见Mantas Mikul的Commit 87D1353(2016年10月9日)?北美(
A new credential helper that talks via"libsecret" with implementations of XDG Secret Service API has been added to
contrib/credential/ .it uses
libsecret which can support other implementations of XDG Secret
Service API.
号
您可以通过以下方式安装
埃多克斯1〔12〕
然后您需要构建凭证管理器
埃多克斯1〔14〕
最后,您应该将git指向配置中新创建的文件:
埃多克斯1〔15〕
正如Mati865在评论中所指出的:
It should be noted that some distros like Arch and Fedora provide helpers available as both binary and source.
- Libsecret binary on Arch:
/usr/lib/git-core/git-credential-libsecret , and- Libsecret binary on Fedora:
/usr/libexec/git-core/git-credential-libsecret .
号
使用
一旦您以另一个用户(根用户或任何其他用户)的身份运行一个命令,预计该其他用户将无法与您的常规用户正常通信(特别是,它在这里找不到您的gnome keyring守护进程)。
所以,答案是:"不要这样做"。如果您确实需要在特定目录中克隆,请按照codewizard答案中的建议为自己授予该目录的权限。实际上,如果您需要在一个没有权限的目录中进行克隆,那么就问问您自己是否做错了什么:原则上,这不应该发生(我的猜测是:您过去使用
I sometimes need to run sudo git clone since sometimes the directory where I need to make a clone requires it. Any help would be appreciated
号
试图将存储库克隆到其中的文件夹是由根创建的,因此除非您是根(
1 | chmod 755 /path |