Estabas sufriendo el siguiente error:
El agente admitió que no pudo firmar usando la clave.
Desafortunadamente, este es un mensaje que no es de diagnóstico. Hay (al menos) dos tipos de problemas que podría abordar:
La clave no está cargada
Para la mayoría de los problemas, esto significa que su ssh-agent
no tiene ninguna clave ssh cargada que se acepte para su cuenta en el servidor de destino. En este caso, como se indica en la respuesta de @Networker a esta pregunta, la solución es bastante simple:agregue la clave:
ssh-add
Si la clave está en una ubicación no predeterminada, deberás decírselo a ssh-add
:
ssh-add /path/to/key
El agente no puede entender la clave
Este fue el error de GNOME 754028, resuelto en Seahorse 3.29.90 (estable 3.30 lanzado el 2018-09-03, incluido en Ubuntu 18.10, Fedora 29 y probablemente Red Hat/CentOS 9). Seahorse anterior a 3.29.90 (y por lo tanto GNOME Keyring) no podía crear ni agregar nuevos tipos de clave como ed25519 y claves generadas con ssh-keygen -o -a 100
(como se sugiere en el tutorial Secure Secure Shell).
Diagnóstico de este problema:
ssh myserver
falla con "falla admitida del agente ssh"SSH_AUTH_SOCK= ssh myserver
funciona bien- Conclusión:
gnome-keyring
no puede manejar claves complejas
Como acabo de encontrar una solución viable para este error, y no parece estar publicado en ninguna parte (excepto el comentario que acabo de agregar a un error de Ubuntu), lo pondré aquí.
Solución alternativa: Lanzar un nuevo ssh-agent
usando el mismo socket que el de gnome-keyring
:
ssh-agent -a $SSH_AUTH_SOCK
Esto lanza una nueva instancia de ssh-agent
(sobrescribiendo la instancia menos capaz de GNOME), por lo que no tendrá ninguna clave (a pesar de lo que seahorse
dice, ya que está ligado al antiguo agente). Tendrás que agregarlos a través de ssh-add
como se indica en La clave no está cargada sección anterior.
Deberá ejecutar esto cada vez que inicie sesión (o agregarlo manualmente a sus scripts de inicio). Si desea conservar el antiguo socket, ejecute mv $SSH_AUTH_SOCK $SSH_AUTH_SOCK.broken
primero.
Resolví el problema simplemente ejecutando este comando en la máquina local (después de generar la clave):
$ ssh-add