Estoy en el proceso de deshacerme gnome-keyring
como agente de SSH.
Cosas que he hecho
- Busqué en internet por horas.
- Cambió cosas y reinició, a menudo.
- Finalmente, acabo de
rm
editar todas las cosas de inicio automático relacionadas con SSH.
Eso último funcionó mágicamente ya que no hay más zócalo para el agente allí:
/run/user/[uid]/keyring/ssh
Problema
El problema que queda es que a pesar de mi obtener el resultado antes mencionado maravilloso, algo que en gnome-keyring
sigue insistiendo en el establecimiento SSH_AUTH_SOCK
de la ahora inexistente zócalo de arriba. Es como zombies, estas cosas nunca mueren.
Pregunta
¿Qué es establecer esa variable y dónde se hace?
Trampas
- Estoy no pregunto cómo puedo restablecer esa variable a otro valor.
- Estoy no preguntar cómo puedo fijar ese valor en todo el sistema o en un archivo de configuración de concha.
- Estoy no pidiendo algunos conjuros script de inicialización de vudú para congelar, activar, desactivar, desarmar o reemplazar cualquier cosa.
- Estoy no pidiendo consejos sobre cómo desinstalar la cosa: yo todavía lo necesito para mis contraseñas y parece ser el administrador de contraseñas más integrado y pulido de Gnome.
Quiero esa cosa deshabilitada como debería ser.
gnome
openssh
ssh-agent
gnome-keyring
JohnW
fuente
fuente
Respuestas:
Déjame adivinar, estás usando Wayland. Me encontré con este problema hoy y pensé que compartiría la solución.
Gnome-Session tiene una anulación codificada para
SSH_AUTH_SOCK
Underland por alguna razón. Consulte el siguiente compromiso: https://github.com/GNOME/gnome-session/commit/a8896ccad65583885735a04205351f48a42f29aeLa solución? Establecer una variable de entorno para desactivar este comportamiento:
GSM_SKIP_SSH_AGENT_WORKAROUND=1
. Esto cortocircuita el código de configuración del entorno.Para las personas que encuentran esto que también intentan configurar ssh-agent: en mi archivo de unidad systemd para ssh-agent, tengo la siguiente línea:
El archivo completo se ve así:
fuente
export GSM_SKIP_SSH_AGENT_WORKAROUND=1
a mi ~ / .profile y reiniciando reparó mi configuración que anteriormente funcionaba en v17.04.(El entorno de OP no se conoce, por lo que las rutas que se proporcionan aquí son las que se encuentran en mi máquina Ubuntu)
¿Dónde establece gnome-keyring SSH_AUTH_SOCK?
Para responder a la pregunta principal en el título, SSH_AUTH_SOCK se configura mediante gnome-keyring
/usr/share/upstart/sessions/gnome-keyring-ssh.conf
con el siguiente comando:Citando el
initctl
manual:¿De dónde viene SSH_AUTH_SOCK en primer lugar?
El
initctl
comando anterior está condicionado al hecho de que la variable de entorno SSH_AUTH_SOCK ya existe. Entonces, ¿es una situación de huevo y gallina? ¿Qué lo establece?SSH_AUTH_SOCK se establece inicialmente por el agente ssh original que se inicia al comienzo de la sesión X. Citando el manual:
PERO, lo que hace el componente ssh del gnome-keyring es sustituirlo por el agente ssh existente. Por lo tanto, sobrescribe SSH_AUTH_SOCK con su propio socket
/run/user/.../keyring-.../ssh
para que las aplicaciones se comuniquen con él y no con ssh-agent.Cómo deshabilitarlo
Ahora, respondamos la última oración "Quiero esa cosa deshabilitada". Lo que quiere el OP es deshabilitar la sobrescritura de SSH_AUTH_SOCK por el componente ssh en gnome-keyring. Quieren recuperar la variable "verdadera" SSH_AUTH_SOCK establecida inicialmente por ssh-agent.
El componente ssh se inicia con el mismo script de inicio mencionado anteriormente (
/usr/share/upstart/sessions/gnome-keyring-ssh.conf
) pero en una condición: la cadenaX-GNOME-Autostart-enabled=false
no se debe encontrar en ninguno de estos archivos:/etc/xdg/autostart/gnome-keyring-ssh.desktop
~/.config/autostart/gnome-keyring-ssh.desktop
Por lo tanto, si desea deshabilitarlo, todo lo que tiene que hacer es agregar una línea
X-GNOME-Autostart-enabled=false
a uno de estos archivos, preferiblemente la que está en su directorio HOME.fuente
/tmp/ssh-XXX/agent.PID
. ¿Está ssh-agent todavía en su lista de procesos?https://wiki.archlinux.org/index.php/GNOME/Keyring#Disable_keyring_daemon_components
Ligeramente editado, eliminando el uso aparentemente inútil de
printf
fuente
A partir de Gnome 3.18, el socket parece estar almacenado en
~/.cache/keyring-(some random string)/ssh
Supongo que lo está poniendo gnome-keyring-daemon.
fuente