Pregunta No se pudo abrir una conexión con su agente de autenticación


Me estoy encontrando con este error de:

$ git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.132' to the list of known hosts.
!  Your key with fingerprint b7:fd:15:25:02:8e:5f:06:4f:1c:af:f3:f0:c3:c2:65 is not authorized to access bitstarter.

Traté de agregar las claves y me aparece este error a continuación:

$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.

1183
2017-07-24 23:26


origen


Respuestas:


Ya empezaste ssh-agent?

Es posible que tengas que comenzar ssh-agent antes de ejecutar el ssh-add mando:

eval `ssh-agent -s`
ssh-add

Tenga en cuenta que esto iniciará el agente para msysgit Bash en Windows. Si está utilizando un shell o sistema operativo diferente, es posible que deba usar una variante del comando, como las que figuran en el Otras respuestas.

Vea las siguientes respuestas:

  1. ssh-add se queja: no se pudo abrir una conexión con su agente de autenticación
  2. Git push requiere nombre de usuario y contraseña (contiene instrucciones detalladas sobre cómo usar ssh-agent)
  3. Cómo ejecutar (git / ssh) agente de autenticación?.
  4. No se pudo abrir una conexión con su agente de autenticación

Para iniciar ssh-agent automáticamente y permitir que una sola instancia funcione en varias ventanas de la consola, consulte Inicie ssh-agent al iniciar sesión.

¿Por qué tenemos que usar eval en lugar de simplemente ssh-agent?

Para averiguar por qué, vea La respuesta de Robin Green.

Claves públicas vs privadas

Además, cada vez que uso ssh-add, Siempre le agrego claves privadas. El archivo ~/.ssh/id_rsa.pub parece una clave pública, no estoy seguro si eso funcionará. Tienes un ~/.ssh/id_rsa ¿archivo? Si lo abre en un editor de texto, ¿dice que es una clave privada?


1827
2017-07-25 03:37



Probé las otras soluciones sin éxito. Investigué más y descubrí que el siguiente comando funcionaba. Estoy usando Windows 7 y Git Bash.

eval $(ssh-agent)

Más información en: https://coderwall.com/p/rdi_wq


441
2018-02-20 13:34



El siguiente comando funcionó para mí. Estoy usando CentOS.

exec ssh-agent bash

220
2017-12-05 15:10



MsysGit o Cygwin

Si está usando Msysgit o Cygwin, puede encontrar un buen tutorial en SSH-Agent en msysgit y cygwin y bash:

  1. Agregue un archivo llamado .bashrc a su carpeta de inicio.

  2. Abra el archivo y pegue:

    #!/bin/bash
    eval `ssh-agent -s`
    ssh-add
    
  3. Esto supone que su clave está en el convencional ~/.ssh/id_rsa ubicación. Si no es así, incluya una ruta completa después del ssh-add mando.

  4. Agregar o crear archivo ~/.ssh/config con los contenidos

    ForwardAgent yes
    

    En el tutorial original, ForwardAgent param es Yes, pero es un error tipográfico Use todas las minúsculas o obtendrá errores.

  5. Reinicia Msysgit. Le pedirá que ingrese su frase de contraseña una vez, y eso es todo (hasta que termine la sesión, o se mata a su agente de ssh).

Mac OS X

Si no desea iniciar un nuevo agente ssh cada vez que abre un terminal, revise Llavero. Ahora estoy en una Mac, así que usé el tutorial ssh-agent con zsh y llavero en Mac OS X para configurarlo, pero estoy seguro de que una búsqueda en Google tendrá mucha información para Windows.

Actualizar: Una mejor solución en Mac es agregar su llave al llavero Mac OS:

ssh-add -K ~/.ssh/id_rsa

Simple como eso.


189
2018-04-09 17:43



No se pudo abrir una conexión con su agente de autenticación

Para resolver este error:

intento:

$ eval `ssh-agent -s`

tcsh:

$ eval `ssh-agent -c`

Entonces usa ssh-add como lo harías normalmente


Buen dato:

Siempre me olvidaba qué escribir para los comandos de ssh-agent anteriores, así que creé un alias en mi .bashrcarchivo como este:

alias ssh-agent-cyg='eval `ssh-agent -s`'

Ahora en lugar de usar ssh-agent, Puedo usar ssh-agent-cyg

P.ej.

$ ssh-agent-cyg
SSH_AUTH_SOCK=/tmp/ssh-n16KsxjuTMiM/agent.32394; export SSH_AUTH_SOCK;
SSH_AGENT_PID=32395; export SSH_AGENT_PID;
echo Agent pid 32395;
$ ssh-add ~/.ssh/my_pk

Fuente original de la corrección:

http://cygwin.com/ml/cygwin/2011-10/msg00313.html


174
2017-07-17 08:54



Enfrenté el mismo problema para Linux, y esto es lo que hice:

Básicamente, el comando ssh-agent inicia el agente, pero realmente no establece las variables de entorno para que se ejecute. Simplemente emite esas variables al shell.

Necesitas:

eval `ssh-agent`

y luego hacer ssh-add. Ver No se pudo abrir una conexión con su agente de autenticación.


103
2017-07-19 06:12



ssh-add y ssh (suponiendo que esté utilizando las implementaciones de openssh) requieren una variable de entorno para saber cómo hablar con el agente ssh. Si inició el agente en una ventana de símbolo del sistema diferente a la que está utilizando ahora, o si lo inició incorrectamente, ni ssh-add ni ssh verán esa variable de entorno establecida (porque la variable de entorno está configurada en la zona al símbolo del sistema está establecido en).

No dices qué versión de ssh estás usando, pero si estás usando cygwin, puedes usar esta receta de Agente SSH en Cygwin:

# Add to your Bash config file
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
    eval `$SSHAGENT $SSHAGENTARGS`
    trap "kill $SSH_AGENT_PID" 0
fi

Esto iniciará un agente automáticamente para cada nueva ventana de solicitud de comando que abra (que es subóptima si abre varias solicitudes de comando en una sesión, pero al menos debería funcionar).


94
2017-11-03 11:53



Intente con los siguientes pasos:

1) Abre Git Bash y ejecuta: cd ~/.ssh 

2) Intenta ejecutar el agente: eval $(ssh-agent)

3) En este momento, puede ejecutar el siguiente comando: ssh-add -l 


87
2017-11-26 13:47



En Windows 10 probé todas las respuestas que figuran aquí, pero ninguna de ellas parecía funcionar. De hecho, dan una pista. Para resolver un problema, simplemente necesitas 3 comandos. La idea de este problema es que ssh-add necesita establecer las variables de entorno SSH_AUTH_SOCK y SSH_AGENT_PID con la ruta actual del archivo sock de ssh-agent y el número pid.

ssh-agent -s > temp.txt

Esto guardará la salida de ssh-agent en el archivo. El contenido del archivo de texto será algo como esto:

SSH_AUTH_SOCK=/tmp/ssh-kjmxRb2764/agent.2764; export SSH_AUTH_SOCK;
SSH_AGENT_PID=3044; export SSH_AGENT_PID;
echo Agent pid 3044;

Copie algo como "/tmp/ssh-kjmxRb2764/agent.2764" desde el archivo de texto y ejecute el siguiente comando directamente en la consola:

set SSH_AUTH_SOCK=/tmp/ssh-kjmxRb2764/agent.2764

Copie algo como "3044" del archivo de texto y ejecute el siguiente comando directamente en la consola:

set SSH_AGENT_PID=3044

Ahora cuando las variables de entorno (SSH_AUTH_SOCK y SSH_AGENT_PID) están configuradas para la sesión de consola actual, ejecute su comando ssh-add y no volverá a fallar para conectar el agente ssh.


44
2018-06-12 13:58