Saltar al contenido
ecdsa.com
OpenSSH (ssh-keygen, ssh-add, ssh)SSH

Mensaje de error

Load key "/path/to/key": incorrect passphrase supplied to decrypt private key

También se muestra como

  • incorrect passphrase supplied to decrypt private key
  • Bad passphrase, try again for /path/to/key:

El `ssh-add` interactivo vuelve a preguntar con «Bad passphrase, try again for …:»; `ssh` simplemente vuelve a pedirla.

OpenSSH (ssh-keygen, ssh-add, ssh) — encrypted private key

Qué significa

El archivo de clave se analizó bien y está cifrado; lo que falló fue descifrarlo con la frase de contraseña proporcionada. OpenSSH puede distinguir esto de un archivo dañado porque el contenedor cifrado incluye un valor de comprobación; por eso este mensaje significa realmente «frase de contraseña incorrecta», tanto para las claves en formato OpenSSH como para las claves PEM/PKCS#8 cifradas. No hay forma de recuperar una frase de contraseña olvidada; hay que sustituir la clave.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Probar la frase de contraseña de forma interactiva

    Si `ssh-keygen -y` acepta la frase de contraseña que escribes, el problema está en cómo la proporciona tu script.

    bash
    ssh-keygen -y -f ~/.ssh/id_ed25519 > /dev/null   # prompts; succeeds only with the right passphrase
    ssh-keygen -p -f ~/.ssh/id_ed25519                # change the passphrase (needs the old one)
  2. 2.

    Usar un agente en lugar de pasar frases de contraseña

    Desbloquea la clave una sola vez en `ssh-agent` (o en el llavero del sistema operativo) en lugar de incrustar la frase de contraseña en scripts o en la CI.

    bash
    # Unlock once per session instead of typing or storing the passphrase in scripts
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    # macOS: keep it in the keychain
    ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Errores relacionados

Explorar toda la base de datos de errores de firma