Pular para o conteúdo
ecdsa.com
OpenSSH (ssh-keygen, ssh-add, ssh)SSH

Mensagem de erro

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

Também aparece como

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

O `ssh-add` interativo pergunta de novo com “Bad passphrase, try again for …:”; o próprio `ssh` simplesmente pede a frase outra vez.

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

O que significa

O arquivo da chave foi analisado sem problemas e está criptografado; o que falhou foi descriptografá-lo com a frase secreta fornecida. O OpenSSH consegue distinguir isso de um arquivo danificado porque o contêiner criptografado inclui um valor de verificação — então esta mensagem realmente significa “frase secreta errada”, tanto para chaves no formato OpenSSH quanto para chaves PEM/PKCS#8 criptografadas. Não há como recuperar uma frase secreta esquecida; a chave precisa ser substituída.

Por que acontece

Como corrigir

  1. 1.

    Testar a frase secreta de forma interativa

    Se o `ssh-keygen -y` aceita a frase secreta que você digita, o problema está na forma como o script a fornece.

    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 um agente em vez de repassar frases secretas

    Desbloqueie a chave uma vez no `ssh-agent` (ou no chaveiro do sistema operacional) em vez de embutir a frase secreta em scripts ou no 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

Erros relacionados

Ver toda a base de erros de assinatura