¿Cómo desactivo la integración de gnome-keyring ssh?

10

No quiero que gnome-keyring se interponga en el camino de mis git commits, en parte porque bloquea toda la pantalla al pedir una contraseña, incluso en KDE (aunque ahora he cambiado a GNOME). Si bien aprecio la conveniencia de no tener que poner mi frase de contraseña SSH cada vez, tener que saltar de una ventana a otra lo cancela personalmente. Es solo una cosa de comodidad: /

Lo intenté git config --global --unset credential.helpery git config --system --unset credential.helper, pero parece que no tienen ningún efecto. Como ahora estoy usando GNOME, prefiero no eliminar gnome-keyring. ¿Hay alguna otra opción que pueda hacer? Actualmente estoy en Ubuntu 14.10, habiendo hecho esto tanto con Kubuntu como con Ubuntu GNOME. Gracias.

ACTUALIZACIÓN 17 de noviembre de 2014

Esto aparentemente afecta a todos los SSH. Intenté hacer

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

Pero eso no funcionó. Puedo hacer

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

una vez cada sesión, pero me gustaría mantener eso permanente. Sigue buscando...

andlabs
fuente
Preguntas y respuestas relacionadas sobre por qué se arruina el
gertvdijk

Respuestas:

10

Sólo tienes que copiar el correspondiente .desktoparchivo de /etc/xdg/autostarta ~/.config/autostarty añadir Hidden=truea la misma:

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

luego vuelva a cargar gnome-shell (presione Alt+ F2, luego escriba ry presione Enter).

Esta es la única solución fácil de usar que me ha funcionado (es decir, no tener que vincular el archivo .desktop a / dev / null o chmod 0the gnome-keyring-daemon). De hecho, softlinking a / dev / null dejó de funcionar para mí en GNOME 3.16.

El crédito va a nus .

mmoya
fuente
55
Parece que esto ya no funciona en 16.04. ¿Por qué parece que con cada lanzamiento de Ubuntu, se reinventa un nuevo método para comenzar las cosas? ¿Qué pasó con la buena y vieja Xsession? :(
Phil Frost
Alguien valídelo para las nuevas versiones de Ubuntu / Debian / GNOME.
George Sovetov
En Ubuntu 17.10 (GNOME Wayland), ya no es posible reiniciar GNOME. Consulte superuser.com/q/1164174/174311 . Use gnome-keyring-daemon -r -c pkcs11,secretspara deshabilitarlo en la sesión actual.
George Sovetov
Todavía funciona con Debian 9 (estiramiento).
Marc Wrobel el
2

Forma agradable y limpia de deshabilitar solo el componente ssh-agent de gnome-kerying:

gconftool-2 --set --type bool /apps/gnome-keyring/daemon-components/ssh false
Oren Tirosh
fuente
2
Esto no parece funcionar, al menos no todavía. ¿Requiere GNOME 3.14 o 3.16 o gnome-keyring-daemon 3.12+?
andlabs
3
¿Alguien sabe cuál es la versión ubuntu 16.04 del comando anterior?
Scott Stensland
2

No puedo hablar de las versiones de Ubuntu que no sean Trusty, y GNOME es un objetivo en constante movimiento que puede garantizar que cada versión será diferente, pero esto es lo que he encontrado para trabajar de manera más confiable:

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

La sesión se inicia en Unity, al menos, y probablemente GNOME3 también sea extraño: ejecutará secuencias de comandos Upstart /usr/share/upstart/sessions/y luego ejecutará todas las entradas de escritorio de inicio automático en /etc/xdg/autostarty gnome-keyring, y muchas otras cosas están en ambos (y probablemente ejecuta cosas adentro /usr/share/upstart/xdg/autostarttambién; no probé eso).

La gnome-keyring-sshentrada inicial buscará esa X-GNOME-Autostart-enabled=falselínea en la entrada del sistema o en el usuario local del escritorio y volverá a salir, luego ssh-agentse ejecutará la sesión estándar . El sistema gnome-keyring-sshse iniciará a /etc/xdg/autostartmenos que tenga una entrada coincidente en el inicio automático local del usuario, en cuyo caso se ejecutará en su lugar.

Solía ​​ser suficiente solo tener esa enable=falselínea en el inicio automático local, pero en algún momento recientemente (como en mayo de 2016, más de dos años en el período LTS de Trusty) ese comportamiento cambió y necesita algo parecido a una entrada completa. Todavía estoy investigando el conjunto preciso de claves necesarias, y la actualización del paquete infractor responsable.

Nadie sabe con certeza por qué la gente de GNOME no solo se entregó al agente clave de OpenSSH . Puede sugerirles que adopten un comportamiento más sensato en esta entrada de Bugzilla .

John Morton
fuente
Este enlace parece implicar que el uso de X-GNOME-Autostart-enabled = false está en desuso. En cualquier caso, parece que la propiedad Oculta descrita en el estándar de inicio automático proporciona la misma funcionalidad. Use Oculto = verdadero. gist.github.com/najamelan/b44e943145b03e018229
nomadrc
2

Siempre termino desinstalando gnome-keyring

sudo apt-get remove gnome-keyring

Resulta que si usa muchas claves (más de tres), realmente no puede iniciar sesión en hosts que limitan los intentos a tres ... Además, gnome-keyringnombra las claves de manera diferente que cuando se usa ssh-add, por lo que no sé qué frase de contraseña usar .

La desinstalación gnome-keyringpodría romper muchas cosas en GNOME, no lo sabría, ya que uso Kubuntu. En Kubuntu todo lo que desaparece además son python-ubuntu-sso-clienty ubuntu-sso-client.

kaleissin
fuente
1
Lo siento por la respuesta tardía. Eso es lo que pensé que hice cuando tuve Kubuntu (y me tomó un tiempo resolverlo), pero ahora no estoy tan seguro. Por el momento, sin embargo, ya que el llavero es una parte de GNOME, quitando eso sería eliminar ubuntu-gnome-desktopy algunos otros componentes relacionados ( oneconf, python-ubuntu-sso-client, seahorse, software-center, y ubuntu-sso-client, sin contar el software que se convierte en candidatos AutoRemove como resultado): / aunque gracias; Votaré porque ayudará a los usuarios que no son GNOME que terminan accidentalmente en esta situación como lo hice yo.
andlabs
0

Confirmo que el guión

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

resuelve el problema en 16.04, amd64. El script se puede guardar como ukr.py, luego chmod +x ukr.py, luego agregarlo ukr.pycomo una aplicación de inicio gnome-session-properties. El módulo (adicional) gnomekeyringse instala mediante

sudo apt-get install python-gnomekeyring
dzmanto
fuente
0

La forma más fácil es simplemente reemplazar la sesión gnome-keyring-daemon existente usando el comando:

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

Puedes ver mi respuesta completa en este hilo /ubuntu//a/786722/556814

rioastamal
fuente