GNU/Linux >> Tutoriales Linux >  >> Linux

El inicio de sesión SSH no funciona con una clave ¿Sin contraseña?

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

Linux
  1. Inicio de sesión SSH en el servidor RHEL 7 sin contraseña

  2. Cómo configurar el inicio de sesión SSH sin contraseña

  3. ¿Inicio de sesión Ssh con contraseña de texto claro como parámetro?

  4. Ssh:¿cómo acelerar el inicio de sesión de Ssh demasiado lento?

  5. Ssh:¿cómo ejecutar Ssh-add automáticamente, sin solicitar una contraseña?

Cómo configurar el inicio de sesión SSH sin contraseña

Inicio de sesión SSH sin contraseña en 3 pasos simples

Cómo copiar archivos de forma remota a través de SSH sin ingresar una contraseña

Realice SSH y SCP sin ingresar la contraseña en openSSH

Cómo realizar SSH y SCP sin contraseña de SSH2 a OpenSSH

TigerVNC + SSH sin contraseña de VNC?