在WSL上运行gnome-keyring(适用于Linux的Windows子系统)

我一直在尝试使用Keyring(Gnome Keyring)使用本文中的步骤存储HTTPS GIT凭据:

http://blog.iqandreas.com/git/storing-https-authentication-in-ubuntu-and-arch-linux/

我采取了以下步骤:

sudp apt-get install make sudo apt-get install-gnome-keyring-dev sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring 

现在,当我使用任何远程git命令时,我收到错误:

 ** (process:19273): CRITICAL **: Error communicating with gnome-keyring-daemon 

是不是可以在WSL上运行守护进程,或者我错过了一些简单的东西? 对不起,如果这是一个不同类型的问题,我是Ubuntu的新手。

另一方面,为标签’ubuntu-on-windows’创建一个同义词’WSL’会是个好主意吗?

我认为这可能成为ubuntu-on-windows最合乎逻辑的首字母缩写: https : //blogs.msdn.microsoft.com/wsl/

更新:

我试过@LordMord说的话:

在〜/ .bashrc的末尾添加

 ssh-add -l &>/dev/null if [ "$?" == 2 ]; then test -r ~/.gnome-keyring && \ source ~/.gnome-keyring && \ export DBUS_SESSION_BUS_ADDRESS GNOME_KEYRING_CONTROL SSH_AUTH_SOCK GPG_AGENT_INFO GNOME_KEYRING_PID ssh-add -l &>/dev/null if [ "$?" == 2 ]; then (umask 066; echo `dbus-launch --sh-syntax` > ~/.gnome-keyring; gnome-keyring-daemon >> ~/.gnome-keyring) source ~/.gnome-keyring && \ export DBUS_SESSION_BUS_ADDRESS GNOME_KEYRING_CONTROL SSH_AUTH_SOCK GPG_AGENT_INFO GNOME_KEYRING_PID fi fi 

它告诉我再安装2个依赖项:

 sudo apt-get install dbus-x11 sudo apt-get install gnome-keyring 

但现在我在启动时收到此错误:

 ** (gnome-keyring-daemon:23): WARNING **: couldn't create socket directory: No such file or directory ** (gnome-keyring-daemon:23): WARNING **: couldn't bind to control socket: /home/wtijsma/.cache/keyring-3mToEe/control: No such file or directory 

当我尝试使用远程GIT命令时出现此错误:

 Gkr-Message: couldn't connect to dbus session bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. 

在〜/ .bashrc的末尾添加

 ssh-add -l &>/dev/null if [ "$?" == 2 ]; then test -r ~/.gnome-keyring && \ source ~/.gnome-keyring && \ export DBUS_SESSION_BUS_ADDRESS GNOME_KEYRING_CONTROL SSH_AUTH_SOCK GPG_AGENT_INFO GNOME_KEYRING_PID ssh-add -l &>/dev/null if [ "$?" == 2 ]; then (umask 066; echo `dbus-launch --sh-syntax` > ~/.gnome-keyring; gnome-keyring-daemon >> ~/.gnome-keyring) source ~/.gnome-keyring && \ export DBUS_SESSION_BUS_ADDRESS GNOME_KEYRING_CONTROL SSH_AUTH_SOCK GPG_AGENT_INFO GNOME_KEYRING_PID fi fi 

如果公钥和私钥都在〜/ .ssh内,则凭据会自动添加到ssh-agent。 密钥链存储应用程序,如mysql-workbench(需要Xming)也可以工作。

您可以在bash启动时忽略此警告

 gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used 

来源: https : //www.reddit.com/r/bashonubuntuonwindows/comments/4yhch4/using_gnomekeyringdaemon_for_ssh_keys/

您不需要在.bashrc中进行修改

安装keyrings.alt

sudo pip install keyrings.alt