Aller au contenu
ecdsa.com
OpenSSH (ssh-keygen, ssh-add, ssh)SSH

Message d’erreur

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

Également affiché sous la forme

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

En mode interactif, `ssh-add` redemande avec « Bad passphrase, try again for …: » ; `ssh` lui-même se contente de redemander.

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

Ce que cela signifie

Le fichier de clé a été analysé sans problème et il est chiffré ; c’est son déchiffrement avec la phrase de passe fournie qui a échoué. OpenSSH distingue ce cas d’un fichier endommagé, car le conteneur chiffré inclut une valeur de contrôle : ce message signifie donc réellement « mauvaise phrase de passe », aussi bien pour les clés au format OpenSSH que pour les clés PEM/PKCS#8 chiffrées. Il n’existe aucun moyen de récupérer une phrase de passe oubliée ; la clé doit être remplacée.

Pourquoi cela se produit

Comment corriger l’erreur

  1. 1.

    Tester la phrase de passe en mode interactif

    Si `ssh-keygen -y` accepte la phrase de passe que vous saisissez, le problème vient de la façon dont votre script la fournit.

    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.

    Utiliser un agent au lieu de transmettre des phrases de passe

    Déverrouillez la clé une seule fois dans `ssh-agent` (ou dans le trousseau du système d’exploitation) plutôt que d’intégrer la phrase de passe dans des scripts ou dans 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

Erreurs associées

Parcourir toute la base de données des erreurs de signature