Configuré una nueva cuenta de usuario para un amigo en Kubuntu 12.04. Cuando usa ssh
obtiene este error:
No se pudo abrir una conexión con su agente de autenticación
Estamos ejecutando ssh
en algunos guiones bash.
Después de observar la amplia variedad de cosas que pueden conducir a ese error, encontré esta solución:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
Luego puede ejecutar el ssh
comandos (y scripts bash) como se esperaba.
Antes de ejecutar esos dos comandos, las variables env no se configuran en una 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é sucede 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 en el que se exportan algunas variables de entorno, por ejemplo, ssh-agent xterm &. La segunda es que el agente imprime los
comandos de shell necesarios (se puede generar la sintaxis sh(1) o csh(1))
que se pueden evaluar en el shell de llamada, por ejemplo, eval ssh-agent -s
para
shells de tipo Bourne como sh(1) o ksh(1) y eval ssh-agent -c
para
csh(1) y derivados.
Después de instalar acct
y reiniciando, 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 exec
No estoy seguro de si eso es significativo.
Respuesta aceptada:
Mencionaste que tu usuario es ssh
iniciando sesión, no iniciando sesión localmente. Entonces el use-ssh-agent
en /etc/X11/Xsession.options
es una pista falsa:no se ejecutará en sesiones SSH, solo cuando inicie sesión en un escritorio de GUI X11 localmente (o use alguna sesión X11 virtual como sobre VNC o RDP).
En su lugar, debe verificar si libpam-ssh
está instalado en cualquiera de los dos sistemas. Se puede configurar para autenticar a un usuario usando frases de contraseña de clave privada SSH, pero eso es opcional y deberá colocar específicamente la clave en ~/.ssh/login-keys.d/
para esa funcionalidad.
Sin embargo, su otra característica es iniciar automáticamente un agente SSH en cualquier sesión de inicio de sesión y agregar automáticamente claves privadas SSH al agente si su frase de contraseña es la misma que la contraseña de inicio de sesión del usuario. Estoy pensando que esta podría ser la causa del diferente comportamiento entre sus sistemas.