Como desabilito a integração ssh do gnome-keyring?


10

Eu não quero que o gnome-keyring atrapalhe meus commits do git, parcialmente porque ele bloqueia a tela inteira enquanto solicita uma senha, mesmo no KDE (embora eu agora tenha mudado para o GNOME). Embora aprecie a conveniência de não ter que digitar minha senha SSH a cada vez, ter que pular de uma janela para outra cancela isso pessoalmente. É apenas uma coisa de conforto: /

Eu tentei git config --global --unset credential.helpere git config --system --unset credential.helper, mas eles parecem não ter efeito. Como agora estou usando o GNOME, prefiro não remover o gnome-keyring. Existe alguma outra opção que eu possa fazer? Atualmente, estou no Ubuntu 14.10, tendo feito isso tanto no Kubuntu quanto no Ubuntu GNOME. Obrigado.

ATUALIZAÇÃO 17 de novembro de 2014

Aparentemente, isso afeta todo o SSH. Eu tentei fazer

sudo rm /etc/xdg/autostart/gnome-keyring-ssh.desktop

mas isso não funcionou. Eu posso fazer

gnome-keyring-daemon --replace -c pkcs11,secrets,gpg

uma vez a cada sessão, mas eu gostaria de manter isso permanente. Ainda olhando...


Q relacionado & A sobre o porquê do GNOME parafusos keyring up: askubuntu.com/q/564821/88802
gertvdijk

Respostas:


10

Basta copiar o .desktoparquivo relevante de /etc/xdg/autostartpara ~/.config/autostarte adicionar Hidden=truea ele:

(cat /etc/xdg/autostart/gnome-keyring-ssh.desktop; echo Hidden=true) > ~/.config/autostart/gnome-keyring-ssh.desktop

em seguida, recarregue o gnome-shell (pressione Alt+ F2, digite re pressione Enter).

Esta é a única solução amigável que funcionou para mim (ou seja, não é necessário vincular o arquivo .desktop a / dev / null ou chmod 0the gnome-keyring-daemon). De fato, o softlink para / dev / null parou de funcionar para mim no GNOME 3.16.

O crédito vai para nus .


5
Parece que isso não funciona mais no 16.04. Por que parece que a cada versão do Ubuntu, um novo método de iniciar as coisas é reinventado? O que aconteceu com o bom e velho Xsession? :(
Phil Geada

Alguém por favor valide para versões mais recentes do Ubuntu / Debian / GNOME.
George Sovetov

No Ubuntu 17.10 (GNOME Wayland), não é mais possível reiniciar o GNOME. Consulte superuser.com/q/1164174/174311 . Use gnome-keyring-daemon -r -c pkcs11,secretspara desativá-lo na sessão atual.
George Sovetov

Ainda funciona com o Debian 9 (stretch).
Marc Wrobel

2

Maneira agradável e limpa de desativar apenas o componente ssh-agent do gnome-kerying:

gconftool-2 --set --type bool /apps/gnome-keyring/daemon-components/ssh false

2
Isso não parece funcionar, pelo menos ainda não. Requer o GNOME 3.14 ou 3.16 ou o gnome-keyring-daemon 3.12+?
ANDLABS

3
Alguém sabe qual é a versão do ubuntu 16.04 do comando acima?
Scott Stensland

2

Não posso falar em versões do Ubuntu que não sejam o Trusty - e o GNOME é um alvo tão constante que você pode garantir que cada versão seja diferente - mas é isso que eu achei que funcionou com mais segurança:

mkdir -p ~/.config/autostart
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart/
echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/gnome-keyring-ssh.desktop

O início da sessão no Unity, pelo menos, e provavelmente o GNOME3 também é estranho: ele executa scripts Upstart /usr/share/upstart/sessions/e executa todas as entradas da área de trabalho de inicialização automática sob /etc/xdg/autostarte gnome-keyring, além de muitas outras coisas (e provavelmente executa coisas no /usr/share/upstart/xdg/autostart, também, eu não testei isso).

A gnome-keyring-sshentrada inicial verificará essa X-GNOME-Autostart-enabled=falselinha na entrada .desktop local do sistema ou do usuário e retornará, e a ssh-agentsessão padrão será executada. O sistema gnome-keyring-sshserá iniciado a /etc/xdg/autostartmenos que você tenha uma entrada correspondente na inicialização automática local do usuário; nesse caso, será executada.

Antes, bastava ter essa enable=falselinha no início automático local, mas em algum momento recente (como em maio de 2016, mais de dois anos no período LTS de Trusty) esse comportamento mudou e você precisa de algo parecido com uma entrada completa. Ainda estou investigando o conjunto preciso de chaves necessário e a atualização incorreta do pacote responsável.

Por que o pessoal do GNOME não apenas procurou o agente-chave OpenSSH é uma incógnita . Você pode sugerir que eles adotem um comportamento mais sensível nesta entrada do Bugzilla .


Esse link parece sugerir que o uso do X-GNOME-Autostart-enabled = false está obsoleto. De qualquer forma, parece que a propriedade Oculta descrita no padrão de inicialização automática fornece a mesma funcionalidade. Use Hidden = true. gist.github.com/najamelan/b44e943145b03e018229
nomadrc

2

Eu sempre acabo desinstalando o gnome-keyring

sudo apt-get remove gnome-keyring

Acontece que, se você usar muitas chaves (mais de três), não poderá realmente fazer login nos hosts que limitam as tentativas a três ... Além disso, gnome-keyringnomeie as chaves de maneira diferente do que quando estiver usando ssh-add, então não sei qual senha usar .

Desinstalar gnome-keyringpode quebrar muitas coisas no GNOME, eu não saberia ao usar o Kubuntu. No Kubuntu, tudo o que desaparece além disso é python-ubuntu-sso-cliente ubuntu-sso-client.


1
Desculpe pelo atraso na resposta. Foi o que pensei que fiz quando tinha o Kubuntu (e demorou um pouco para descobrir), mas agora não tenho tanta certeza. Por enquanto, porém, desde que o chaveiro é uma parte do GNOME, removendo que removeria ubuntu-gnome-desktope alguns outros componentes relacionados ( oneconf, python-ubuntu-sso-client, seahorse, software-center, e ubuntu-sso-client, sem contar com software que se torna candidatos autoremove como resultado): / Graças embora; Vou votar porque ajudará os usuários não-GNOME que acidentalmente terminam nessa situação como eu.
ANDLABS

0

Eu confirmo que o script

#!/usr/bin/python
import gnomekeyring
gnomekeyring.unlock_sync(None,"mypassword");

resolve o problema em 16.04, amd64. O script pode ser salvo como e ukr.py, em seguida chmod +x ukr.py, adicionado ukr.pycomo um aplicativo de inicialização no Windows gnome-session-properties. O módulo (adicional) gnomekeyringé instalado via

sudo apt-get install python-gnomekeyring

0

A maneira mais fácil é apenas substituir a sessão existente do gnome-keyring-daemon usando o comando:

gnome-keyring-daemon --replace --daemonize --components=pkcs11,secrets,gpg

Você pode ver minha resposta completa neste tópico /ubuntu//a/786722/556814

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.