Инструмент шифрования gnuPG package gpg запрашивает парольную фразу с помощью диалогового окна GUI при вызове обычного пользователя, однако при вызове root он запрашивает CLI. Как заставить его использовать CLI даже при вызове обычного пользователя. версия: GnuPG 1.4.12
Как сделать запрос gpg для кодовой фразы на CLI
Ответ 1
Этот тип запроса пароля не выполняется самим gpg, а gpg-agent.
Вы можете настроить gpg-agent, для которого необходимо использовать программу pinentry. Существуют опции как при запуске агента, так и в файле конфигурации gpg-agent - пожалуйста, взгляните на страницу руководства.
Итак, я вижу два варианта:
- Настройте gpg-agent для использования желаемого метода.
- Отключить gpg-agent; вы можете сделать это для одного вызова gpg, отключив переменную окружения
GPG_AGENT_INFO
какGPG_AGENT_INFO="" gpg ...
. gpg имел опцию--no-use-agent
, но это было отмечено устаревшим и не имеет функциональности в последней версии gpg.
Ответ 2
Вы можете установить следующую переменную среды, чтобы отключить графическое приглашение
export PINENTRY_USER_DATA="USE_CURSES=1"
Ответ 3
В окне debian:
sudo apt install pinentry-tty
sudo update-alternatives --config pinentry
(и установите его на pinentry-tty)
Ответ 4
Вы можете сделать это:
gpg --batch --decrypt --passphrase-fd 0 gpgfile < passphrase-file