Перейти к содержимому
ecdsa.com
OpenSSH (ssh-keygen, ssh-add, ssh)SSH

Сообщение об ошибке

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

Также выводится как

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

В интерактивном режиме `ssh-add` переспрашивает с текстом «Bad passphrase, try again for …:»; сам `ssh` просто снова выводит запрос.

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

Что это означает

Файл ключа разобран без ошибок, и он зашифрован; расшифровать его указанной вами парольной фразой не удалось. OpenSSH отличает эту ситуацию от повреждённого файла, потому что в зашифрованном контейнере есть проверочное значение, так что это сообщение действительно означает «неверная парольная фраза» — и для ключей в формате OpenSSH, и для зашифрованных ключей PEM/PKCS#8. Забытую парольную фразу восстановить невозможно, ключ придётся заменить.

Почему это происходит

Как исправить

  1. 1.

    Проверьте парольную фразу в интерактивном режиме

    Если `ssh-keygen -y` принимает парольную фразу, которую вы вводите вручную, проблема в том, как её передаёт ваш скрипт.

    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.

    Используйте агент вместо передачи парольных фраз

    Разблокируйте ключ один раз в `ssh-agent` (или в связке ключей ОС) вместо того, чтобы встраивать парольную фразу в скрипты или 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

Связанные ошибки

Открыть всю базу ошибок подписей