Parece que estoy usando Linux Mint y, al parecer, no he podido hacer que gnome-keyring se desbloquee automáticamente al iniciar sesión.
Un síntoma de mi problema es el siguiente:
$ ssh-add
Identity added: /home/me/.ssh/id_rsa (/home/me/.ssh/id_rsa)
$ git pull
WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-Nmf3J3/pkcs11: No such file or directory
¿Cómo puedo hacer que git pueda empujar / tirar sin ninguna entrada de contraseña?
Me doy cuenta de que hay varias cosas aquí con gnome-keyring y ssh-agent, pero no he podido precisarlo.
Ejecutar ssh-add
durante una sesión significa que ya no se me pide mi frase de contraseña para SSH / git.
El problema es que necesitaría ejecutar ssh-add
durante cada sesión; debo estar perdiendo cómo desbloquear el llavero de Gnome al iniciar sesión.
$ export | grep GNOME
GNOME_KEYRING_CONTROL=/tmp/keyring-hjMM4V
GNOME_KEYRING_PID=1961
Sucedió nuevamente durante la misma sesión que la primera edición. Lo hice git pull
y conseguí WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-hjMM4V/pkcs11: No such file or directory
.
$ env | grep SSH
SSH_AGENT_PID=2116
SSH_AUTH_SOCK=/tmp/ssh-OACxJMBY2038/agent.2038
$ ps -fp $SSH_AGENT_PID
UID PID PPID C STIME TTY TIME CMD
eoin 2116 2038 0 09:47 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
fuente
export | grep GNOME
y publicar los resultados? ¿Has visto este error?gnome-keyring
desbloquear automáticamente al iniciar sesión.env | grep SSH
yps -fp $SSH_AGENT_PID
zsh
ytmux
corriendo (solo por mencionar eso).Respuestas:
Lo que debe suceder es:
Comienza una sesión de gnome, parte de la cual se inicia un demonio de llavero de gnome (que también actúa como un agente ssh) y el entorno de todo lo que se inició durante esa sesión de gnome se actualiza con información sobre cómo contactar a ese agente ssh. La contraseña que emite al iniciar sesión gráficamente se utiliza para desbloquear el llavero predeterminado.
Cuando usa gnome-keyring como un agente ssh, no desea usar otro agente como
ssh-agent
.Cuando finaliza su sesión X, también lo hace gnome-keyring. Pero su sesión tmux permanece. Entonces, incluso si inicia otro gnome-keyring o ssh-agent, el entorno de los procesos ya iniciados
tmux
no podrá hablar con él a menos que actualice su entorno con la ruta del nuevo socket.Lo que puedes hacer es:
Y haz
. ~/.gkr
en todas las conchas que quieras usar el nuevo llavero de gnomoSin embargo, tenga cuidado con la PANTALLA a la que se conectará gnome-keyring-daemon.
fuente
.gkr
, ¿debería? ¿Cómo puedo tener cuidado con qué pantallagnome-keyring-daemon
se va a conectar?Lo primero que probaría es
apt-get install ssh-askpass-gnome
que si no tienes ese paquete (o algún programa askpass alternativo) instalado, entonces gnome no puede pedirte tu contraseña cuando necesites desbloquear tu clave.También necesitará tener su
DISPLAY
variable configurada correctamente:Además, ¿cómo estás iniciando tu terminal? Podría haber un problema con la forma en que está iniciando la sesión de terminal y si hereda o no
gnome-session
. Esto puede suceder cuando usa algún programa gnon-gnome para configurar sus enlaces de teclas.Suponiendo que use
gnome-terminal
puede verificar usandopstree
. Aquí puede ver la herencia correcta que ocurre:Mientras que en esta sesión NO se hereda de
gnome-session
:Además, verifique que
ssh-agent
esté siendo iniciado porgnome-session
:fuente
mate-terminal --maximize -e tmux
(que supongo que es gnome-terminal). Además,zsh
luego se carga dentrotmux
.ssh-askpass-gnome
fue instalado.$DISPLAY
ha esperado resultado. Para la herencia,tmux
se sienta debajomate-terminal
sin ninguna pretensión degnome-session
. En una rama separada, estmux───zsh───xargs───pstree
. Para responder a su última pregunta, la salida es:init───mdm───mdm───x-session-manag───ssh-agent
. ¿Qué piensas? Gracias.mate-terminal
heredarlognome-session
. dos preguntas: 1) cuál es el resultado depgrep -fl gnome-session
y; 2) ¿Qué medidas toma para invocar realmente su terminal? de un menú? de un enlace de teclas de acceso rápido? o ????Ctrl+Alt+t
. Es un acceso directo que configuré usando la aplicación Linux MintKeyboard Shortcuts
usando el comando que mencioné anteriormente. Sin embargo , al iniciar aTerminal
través del menú principal "Inicio", SSH actuó de manera diferente . La GUI de Gnome me solicitó mi contraseña para mi llavero. La opción para guardar esta frase de contraseña para sesiones posteriores estaba atenuada, no pude seleccionarla. (El comando del menú de inicio también lo esmate-terminal --maximize -e tmux
). ¿Eso nos acerca? Gracias Aculich.Ctrl+Alt+t
que configuró en los atajos de teclado, entonces creo que probablemente esté experimentando un error en mdm / MATE. ¿Qué versión de Mint estás ejecutando?Creo que hay un problema al almacenar permanentemente la clave SSH protegida con contraseña.
Por favor, eche un vistazo a los siguientes recursos:
fuente
~/.ssh/config
pero eso no lo solucionó.Agregue esto a su .bash_profile
fuente
$SSH_AUTH_SOCK
tiene un valor de/tmp/ssh-QCndYkdq2025/agent.2025
. ¿Me estoy perdiendo de algo?$git pull
Todavía aparece el mensaje de frase de contraseña SSH.ssh-agent
correctamente al iniciar sesión desde el primer momento y, por lo general, son cosas como esta que se rompen. Si por alguna razón su sistema no manejassh-agent
, no lo haga a mano. En su lugar use llavero que está bien diseñado para manejar este y otros problemas relacionados. También funciona para BSD (Mac) y otros sistemas que no son Linux.