Configuré una nueva cuenta de usuario para un amigo en Kubuntu 12.04. Cuando lo usa ssh
, obtiene este error:
No se pudo abrir una conexión con su agente de autenticación
Estamos ejecutando ssh
algunos scripts de bash.
Después de observar la gran variedad de cosas que pueden conducir a ese error, me encontré con esta solución:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
Luego puede ejecutar los ssh
comandos (y los scripts bash) como se esperaba.
Antes de ejecutar esos dos comandos, las variables env no se establecen en un terminal:
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
Después de ejecutar los comandos, las variables env se establecen como se esperaba. Sin embargo, no permanecen configurados (por ejemplo, en un shell diferente o después de reiniciar).
Quiero saber cómo configurar su computadora para que no tenga que ejecutar esos dos comandos para configurar las variables env. No necesito ejecutarlos en mi computadora (nunca). Hasta ahora no veo qué es diferente entre nuestras máquinas.
Veo esta información en la página de manual, pero no me dice cómo Ubuntu normalmente configura el agente automáticamente o qué está sucediendo en la máquina de mi amigo para que esto no funcione para él.
Hay dos formas principales de configurar un agente: la primera es que el agente inicia un nuevo subcomando al que se exportan algunas variables de entorno, por ejemplo, ssh-agent xterm &. El segundo es que el agente imprime los comandos de shell necesarios (se puede generar sh (1) o csh (1) sintaxis) que se pueden evaluar en el shell de llamada, por ejemplo, evaluar
ssh-agent -s
shells de tipo Bourne como sh (1) o ksh (1) y evalssh-agent -c
para csh (1) y derivados.
Después de instalar acct
y reiniciar, esta es la salida de lastcomm
:
ssh-agent F newuser __ 0.12 secs Wed Aug 7 11:02
ssh-agent F newuser __ 0.00 secs Wed Aug 7 20:34
ssh-agent F newuser __ 0.02 secs Wed Aug 7 20:02
ssh-agent F newuser __ 0.01 secs Thu Aug 8 12:39
ssh-agent F newuser __ 0.02 secs Thu Aug 8 07:45
Desde la página del manual:
F - comando ejecutado después de una bifurcación pero sin un siguiente ejecutivo
No estoy seguro si eso es significativo.
X11/Xsession.options:use-ssh-agent
y X11/Xsession.d/90x11-common_ssh-agent:SSHAGENT=/usr/bin/ssh-agent
. Lo intentaré acct
y lastcomm
luego. Gracias
lastcomm
una sesión completa, no solo el ssh-agent
proceso. El punto es ver en qué orden se inician varios programas.
ssh-agent
normalmente se inicia desde/etc/X11/Xsession.d/90x11-common_ssh-agent
. Esto se puede suprimir eliminandouse-ssh-agent
de/etc/X11/Xsession
. ¿Son correctos esos archivos? ¿El agente se inició y luego se mató o nunca se inició? (Instalaracct
y ejecutarlastcomm
después de iniciar sesión para ver qué programas se lanzaron).