¿Cómo deshabilitar el llavero para SSH y GPG?


19

¿Cómo deshabilitar el llavero para SSH y GPG?

Me gustaría mantener el llavero para wifi y otras cosas. Estoy usando Ubuntu 12.04.


1
¿No puede simplemente negarse a guardar esas contraseñas en el llavero? Para ssh estándar, no guardará la contraseña a menos que la configure específicamente de esa manera, en mi experiencia.
Marty Fried

No lo sé. ¿Hay alguna manera de restablecer el llavero? Para probarlo? El título en el tema tenía Ubuntu 12.04 LTS, pero @ jorge-castro lo cambió.
brodul

El llavero no ha cambiado mucho en mucho tiempo, pero lo agregué a la pregunta para mayor claridad, aunque no es necesario que desordene el título, ya que la respuesta probablemente se aplicará a múltiples versiones.
Jorge Castro

Perdón por la pregunta novata, pero ¿cuál es su motivación para deshabilitar el llavero para SSH?
Stephane

1
@Stephane No puedo hablar por OP pero no quiero una información tan crítica expuesta de ninguna manera. Prefiero ingresar mi contraseña de clave ssh cada vez que me conecto a algún servidor, que el llavero que lo almacena, permitiendo que cualquier programa y cada persona en mi espacio de usuario accedan a ssh arbitraria. Esto no tiene sentido para todos los demás, por supuesto, pero la motivación aquí es comprensible
phil294

Respuestas:


12

Primero duplica el archivo /etc/xdg/autostart/gnome-keyring-ssh.desktopen ~/.config/autostart/.

Luego edite ~/.config/autostart/gnome-keyring-ssh.desktoppara eliminar la siguiente línea:

NoDisplay=true

y para agregar la siguiente línea al final:

X-GNOME-Autostart-enabled=false

Esto debería deshabilitar la administración SSH cuando reinicie su sesión. Para deshabilitar GPG, haga lo mismo con el archivo /etc/xdg/autostart/gnome-keyring-gpg.desktop.


Tnx, esto finalmente resuelve el problema.
brodul

7

En una sesión de terminal (usando Ctrl- Alt- T) puede detener el proceso de gnome-keyring de trabajar con ssh usando:

unset SSH_AUTH_SOCK 

La --no-use-agentopción está disponible para gpg para evitar el uso del proceso gnome-keyring con gpg, sin embargo, ese es el valor predeterminado.

Puede evitar que nautilus seahorse-tool use el gpg-agent usando:

rm `echo $GPG_AGENT_INFO | sed s/:0:1//`

Puede detener el proceso de gnome-keyring completamente con el comando:

kill $GNOME_KEYRING_PID

Cada una de las acciones anteriores se restaura al iniciar sesión nuevamente.


Las contraseñas de wifi disponibles para todos los ID de usuario se almacenan en el /etc/NetworkManager/system-connections/directorio en lugar de almacenarse en su llavero gnome, por lo que pueden permanecer disponibles si elimina el proceso de llavero gnome.

El ssh-addcomando se puede usar para eliminar (o agregar) claves específicas de / al gnome-keyring actual mientras se ejecuta el proceso de keyring.

Las contraseñas de claves individuales se pueden eliminar del inicio de sesión u otro llavero utilizando la Passwordspestaña del Passwords and Keysprograma (seahorse).

Si el gnome-keyring no está presente, ssh-agent seguirá ejecutándose, pero no almacena las claves gpg.


Hay dos líneas /etc/pam.d/lightdminvolucradas con guardar la contraseña de inicio de sesión e iniciar gnome-keyring-daemon con el llavero de inicio de sesión desbloqueado con la contraseña de inicio de sesión. El segundo comienza el demonio:

session optional        pam_gnome_keyring.so auto_start

Si comenta esta línea, evitará que se inicie en todas las sesiones de todos los usuarios de su sistema que usen la contraseña de inicio de sesión para desbloquear el llavero de inicio de sesión.

/etc/xdg/autostart/contiene entradas de inicio para varias categorías de secretos que puede manejar gnome-keyring. Para evitar que el demonio inicie estos componentes, estos archivos se pueden mover fuera de este directorio. Puede mover todos los archivos gnome-keyring- * para detener el inicio del demonio o simplemente puede negarse a proporcionar la contraseña de inicio de sesión nuevamente para deshabilitar el conjunto de claves de inicio de sesión mientras se deja el demonio en ejecución.


desarmar SSH_AUTH_SOCK funciona. Tnx. ¿Hay alguna forma de desarmarlo para todas las sesiones? Uso Enigmail para Thunderbird y hay un problema con enigmail (no olvida la contraseña).
brodul

¿Hay alguna manera de deshabilitar el llavero al inicio? (Realmente no quiero escribir un guión que mate el llavero).
brodul

He editado la respuesta con más información que puede ser útil, sin embargo, puede ser mejor solicitar una elusión de Enigmail directamente en una pregunta separada, siendo explícito sobre lo que desea.
John S Gruber

Puede limpiar el llavero (olvide sus contraseñas, tanto gpg como ssh y otras) haciendo esto gnome-keyring-daemon -r -d. Esta es una forma sencilla de reiniciar el demonio. Un posible problema es que si no se estaba ejecutando en primer lugar, se iniciará (no conozco una buena manera de reiniciarlo solo si ya se está ejecutando, excepto el análisis ps: /)
unhammer

2

Para evitar que gnome-keyring inicie su agente SSH ( roto ) en Ubuntu 16.04:

mkdir ~/.config/upstart || true
echo manual > ~/.config/upstart/gnome-keyring-ssh.override

# This step can be done with the gnome-session-properties tool
mkdir ~/.config/autostart || true
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart
echo 'X-GNOME-Autostart-enabled=false' >> ~/.config/autostart/gnome-keyring-ssh.desktop

Veo que su última línea está utilizando el hecho de que /usr/share/upstart/sessions/gnome-keyring-ssh.conf busca esa línea y sale inmediatamente antes de exportar SSH_AUTH_SOCK, creo que no necesita el ~ / .config / upstart file / directory si también se agrega Hidden=trueal archivo .desktop. Básicamente, esto enmascara el acceso directo "real" (sistema) de todos los escritorios, incluso aquellos a los que normalmente podría aplicarse como GNOME / Unity. Probaré esto en breve, ya que he estado buscando una forma limpia de deshabilitar gnome-keyring-ssh sin afectar las otras funciones.
dragon788

1

Con la versión actual de Ubuntu, cambiar el .desktoparchivo mencionado en otras respuestas ya no es suficiente. Se agregó un trabajo adicional adicional que también se inicia gnome-keyring-daemon. El archivo se encuentra /usr/share/upstart/sessions/gnome-keyring.confy contiene:

eval "$(gnome-keyring-daemon --start)" >/dev/null
initctl set-env --global SSH_AUTH_SOCK=$SSH_AUTH_SOCK
initctl set-env --global GPG_AGENT_INFO=$GPG_AGENT_INFO

Aquí el demonio necesita ser restringido para proporcionar solo algunos servicios agregándolos --components=pkcs11,secretsa la línea de comando. Las initctllíneas también se pueden eliminar, lo que resulta en:

eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets)" >/dev/null

1
¿Cómo puedo anular este archivo por usuario sin modificar el archivo del sistema?
dolmen

Cambiar un archivo del sistema es una mala práctica. Mira mi propia respuesta.
dolmen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.