1

Я пытаюсь расшифровать файл с помощью следующей команды в командной строке Unix:

gpg --passphrase-file /path/to/passphrase/file --output /path/to/output/dir/full_db_restore --decrypt full_db_backup_current.tar.gpg

Я получаю следующую ошибку при запуске команды выше:

gpg: 3DES encrypted data
gpg: problem with the agent: No pinentry
gpg: encrypted with 1 passphrase
gpg: decryption failed: No secret key

Я проверил, что pinentry установлен. Я не уверен, что проблема с Пентри У меня такое ощущение, что это может быть из-за ошибки "Нет секретного ключа". Любая помощь будет оценена.

2 ответа2

2

Вы должны использовать эту команду:

    gpg --batch --passphrase-fd 1 --passphrase-file /path/to/passphrase/file  
    --output /path/to/output/dir/full_db_restore full_db_backup_current.tar.gpg

--batch: используется в скриптах для неинтерактивного режима (без запроса);

--passphrase-fd 1 вместе с --passphrase-file: прочитать парольную фразу из файла.

Если вы используете только --passphrase-file в * nix, он не будет работать.

Удачи.

2

Я нашел решение для этого.

/usr/bin/gpg --no-tty --batch --passphrase-file /path/to/passphrase/file --output   \
/path/to/output/dir/full_db_restore --decrypt full_db_backup_current.tar.gpg

Разница лишь в том, что я добавил опции --no --no-tty и --batch . После входа на мой unix-сервер я переключаю пользователей с userA на userB. Я предполагаю, что, поскольку я переключаю пользователей, произошла ошибка. Я не уверен, что это решение для записи, так как указанные выше параметры используются при вызове команды из сценария оболочки. Любая дополнительная информация будет принята с благодарностью. Заранее спасибо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .