desarrollo-web-br-bd.com

ssh-add se queja: no se pudo abrir una conexión con su agente de autenticación

He estado tratando de obtener ssh-add trabajando en un RaspberryPi con Raspbian.

Puedo empezar ssh-agent, cuando lo hago, da el siguiente resultado en el terminal:

SSH_AUTH_SOCK=/tmp/ssh-06TcpPflMg58/agent.2806; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2807; export SSH_AGENT_PID;
echo Agent pid 2807;

Si corro ps aux | grep ssh Puedo ver que se está ejecutando.

Entonces trato de correr ssh-add para agregar mi frase clave y obtengo lo siguiente:

Could not open a connection to your authentication agent.

¿Algunas ideas?

161
Daniel Groves

Su Shell está destinado a evaluar la salida del código de Shell por ssh-agent. Ejecute esto en su lugar:

eval "$(ssh-agent)"

O si ya ha comenzado ssh-agent, copie y pegue en su indicador de Shell (suponiendo que esté ejecutando un Shell similar a Bourne).

Los comandos ssh necesitan saber cómo hablar con el ssh-agent, lo saben por el SSH_AUTH_SOCK Variable ambiental.

244
Stéphane Chazelas

Prueba este:

$ ssh-agent /bin/sh
$ ssh-add $yourkey
30
user48656

Esta pregunta también se ha cubierto muy bien en Stackoverflow .

eval `ssh-agent -s`

ssh-add
13
xaa

Si usa csh como Shell ( FreeBSD PI ) esto podría funcionar:

eval `ssh-agent -c`

a continuación solo necesitas hacer algo como:

ssh-add ~/.ssh/id_rsa
6
nbari

Intenta esto: ve a C:\$Installation_Folder$\Git\cmd y ejecuta:

start-ssh-agent 

Abrirá un comando cmd y ejecutará el ssh-agent la direccion correcta.

ssh-add ~/.ssh/id_rsa entonces debería funcionar.

2
sab125

Esto fue confuso y tiene 2 posibles buenas respuestas, dependiendo de si el usuario está intentando agregar una clave ssh en Linux o en Windows (como yo). Esto probablemente no responde al OP, pero es una expansión para git-bash. Ejecuto Windows y Ubuntu para el desarrollo, y mi instalación de git es ligeramente diferente en cada uno.

Pruebe esto: vaya a C:\$ Installation_Folder $\Git\cmd y ejecute:

start-ssh-agent Abrirá un comando cmd y ejecutará el agente ssh de la manera correcta.

.. fue una buena respuesta de Windows, pero no especificó que se esperaba que pasaras por el Explorador de Windows para encontrar la carpeta de instalación de Git y ejecutaras el Shell de Windows que se abriría al completar el paso 1.
"vaya a C:\$ Installation_Folder $\Git\cmd"

Paso 2: solo necesitas hacer doble clic

start-ssh-agent

En el paso 3, vuelve a git-bash o cualquier emulador de terminal * nix que esté ejecutando y ejecute ssh-add. Si usó el nombre predeterminado para la clave pública ssh, no tiene que agregar el nombre, ya que ssh-add lo usa automáticamente.

2
Wolf Halton

También puede usar la siguiente sintaxis:

ssh-agent sh -c 'ssh-add && echo Do some stuff here.'
2
kenorb

Hay un par de formas si desea utilizar una identidad con Sudo, p. Sudo npm install.

Largo camino, pero también te da acceso a la raíz para que no necesites usar mucho Sudo.

  1. Correr
    Sudo ssh-agent bash
    Esto le pedirá su contraseña y luego se ejecutará ssh-agent con los privilegios del superusuario,
  2. Navegue a la carpeta .ssh de sus usuarios
    cd /home/user/.ssh
  3. Desde allí puedes correr

    ssh-add id_rsa
    npm install git+ssh://[email protected] -g && npm link PROJECT-NAME
    

Camino corto, solo tu usuario (a menos que quieras Sudo mucho)

eval "$(ssh-agent)"
ssh-add
Sudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" npm install git+ssh://[email protected] -g && Sudo npm link PROJECT-NAME
1
Belldandu