Solución de problemas

¿Por qué no se acepta mi clave SSH?

Soluciona una clave SSH que el servidor rechaza en Wardterm: añade la clave pública a authorized_keys, revisa sus permisos y el usuario, y lee el registro.

Qué ves

La app muestra El servidor no aceptó la clave. Los detalles dicen:

authentication failed for deploy@203.0.113.10

Cuando la propia clave no se puede usar, los detalles empiezan por key not valid:. En el Registro de conexiones el intento aparece como Error, contraseña o clave incorrecta.

Por qué ocurre

El servidor solo acepta una clave cuando su mitad pública está en el archivo ~/.ssh/authorized_keys del usuario con el que entras, y solo si ni ese archivo ni su carpeta los pueden modificar otros.

Qué hacer

  1. Comprueba el Usuario del servidor: la clave debe estar en el authorized_keys de ese usuario.
  2. Pon la clave en el servidor con Añadir a un servidor en Claves. La app entra una vez con la contraseña y añade la clave pública. Consulta Claves SSH.
  3. O añádela a mano: copia la clave pública en Claves y, en el servidor:
    mkdir -p ~/.ssh
    echo 'ssh-ed25519 AAAA... you@example' >> ~/.ssh/authorized_keys
  4. Corrige los permisos, que el servidor comprueba:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
  5. Una clave guardada solo en un dispositivo solo firma ahí. En otro dispositivo, usa otra clave o añade también la clave de ese dispositivo. Consulta Claves en este dispositivo.
  6. Lee el registro del servidor, que indica por qué la ha rechazado, por ejemplo por un propietario o unos permisos incorrectos:
    sudo journalctl -u ssh -u sshd -n 50

La misma prueba con OpenSSH, que muestra cada clave que ofrece:

ssh -v -i ~/.ssh/id_ed25519 deploy@203.0.113.10