Executando o gnome-keyring no WSL (Windows Subsystem para Linux)

5

Estou tentando armazenar credenciais HTTPS do GIT usando um Chaveiro (Chaveiro do Gnome) usando as etapas deste artigo:

link

Eu segui estes passos:

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

Agora, quando eu uso qualquer comando git remoto, recebo o erro:

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

Não é possível executar um daemon no WSL ou estou perdendo algo simples? Desculpe se este é um tipo diferente de pergunta, eu sou novo no Ubuntu.

Em outra nota, seria uma boa ideia criar um sinônimo 'WSL' para a tag 'ubuntu-on-windows'?

Acho que isso pode se tornar o acrônimo mais lógico para o ubuntu-on-windows: link

ATUALIZAÇÃO:

Eu tentei o que @LordMord disse:

  

adicione no final de ~ / .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

E ele me disse para instalar mais 2 dependências:

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

mas agora recebo esse erro na inicialização:

** (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

E este erro quando tento usar um comando remoto do 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.
    
por Wiebe Tijsma 22.08.2016 / 13:34

2 respostas

1

adicione no final de ~ / .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

As credenciais são automaticamente adicionadas ao agente ssh desde que ambas as chaves públicas e privadas estejam dentro de ~ / .ssh. O keychain que armazena aplicativos como o mysql-workbench (requer o Xming) também funciona.

Você pode ignorar esse aviso na inicialização do bash

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

fonte: link

    
por LordMord 25.08.2016 / 13:10
0

Você não precisa das modificações no seu .bashrc

Instalar o keyrings.alt

sudo pip install keyrings.alt

    
por matt 08.02.2017 / 15:20