El comando ssh-add no agrega mi identidad a ssh-agent

20

Acabo de instalar ubuntu 13.10 y estaba a punto de agregar mi identidad a mi agente ssh, así que abrí una Terminal e hice esto

bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ 

¿algunas ideas?

bjorgvin
fuente

Respuestas:

26

De man ssh-add:

ssh-add agrega identidades de clave privada al agente de autenticación, ssh-agent (1). Cuando se ejecuta sin argumentos, agrega los archivos ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa y ~ / .ssh / identity. [...]

Los archivos de identidad no deben ser legibles por nadie más que el usuario. Tenga en cuenta que ssh-add ignora los archivos de identidad si otros pueden acceder a ellos.

Entonces, debido a un The agent has no identities.error, probablemente no tenga esos archivos o tal vez otros puedan acceder a esos archivos. Puede verificar esto utilizando el siguiente comando:

ls -l ~/.ssh

Además, después de ejecutar el ssh-addcomando, ejecútelo echo $?para ver el estado de error del comando anterior. Si el estado de salida devuelve 0, el comando se ejecutó con éxito. Si el estado de salida devolvió un valor distinto de cero, el comando no se pudo ejecutar.

Ver man ssh-addpara más información.

Radu Rădeanu
fuente
Es cierto, no tengo esos archivos y el valor de salida de ssh-addera 1 pero no 0. Obviamente hay algún problema con mis permisos ya que los archivos no se crean. ¿Alguna idea de cómo podría solucionar esto? el directorio ~/.sshexiste (está vacío) pero no aparece cuando lo hagols -l
bjorgvin
Ejecuté este comando ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsapara que man ssh-keygen me ayudara, gracias.
bjorgvin
1
Eso me dio la pista de importación en la dirección correcta para mí. Tenía varias claves ssh y primero tuve que agregar la clave adecuada usando ssh-add <keyname>. Entonces funcionó como un encanto. thx
paulroho
3
Por alguna razón, no tuve ningún resultado al ejecutar ssh-adddespués de ingresar la frase de contraseña, (estaba fallando de acuerdo con la $?retirada 1. Lo intenté chmod 600 ~/.ssh/id_rsa* sin suerte. Generé una nueva clave desde cero ssh-keygeny luego funcionó. Triste pero al menos es ok ahora (la clave fallida se generó usando ssh-keygen -t rsa -b 4096 -C "[email protected]", solo ejecuté ssh-keygenesta vez).
GabLeRoux
1
Tuve que hacer lo siguiente en este orden: (si es necesario, generar una nueva clave ssh y asegurarse de agregar la clave .pub a github), luego cd ~/.ssh && ls -lahpara ver los permisos de lectura / escritura en la carpeta .ssh, cambie todas las claves (s) ) con, chmod 400 myKeyentonces, ssh-add **ABSOLUTE**pathToKey si no agrega la ruta ABSOLUTE , no funcionará. Luego, ssh -vT [email protected]
pruébelo
3

Además de las consideraciones anteriores, descubrí que si está utilizando un shell alternativo, es posible que deba configurarlo para cargar ssh-agent. Por ejemplo, en Zsh, hay que añadir ssh-agentque pluginsen .zshrc.

Este método funciona muy bien en Ubuntu 17.10 con la última versión de Zsh

Otros encontraron que con las id_ed25519teclas, rsafuncionaba sin un complemento. Después de agregar ssh-agenta ~/.zshrc, reinicie el shell con exec "$SHELL"y ejecute:ssh-add ~/.ssh/id_ed25519

Enter passphrase for ~/.ssh/id_ed25519: 
Identity added: ~/.ssh/id_ed25519 (user@host)
Tohuw
fuente
Agregue el complemento ssh-agent a .zshrc a través de las instrucciones aquí: github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ssh-agent
Kariem