Инструмент шифрования gnuPG package gpg запрашивает парольную фразу с помощью диалогового окна GUI при вызове обычного пользователя, однако при вызове его root он запрашивает CLI. Как заставить его использовать CLI даже при вызове обычного пользователя. версия: GnuPG 1.4.12Как сделать запрос gpg для ключевой фразы на CLI
ответ
Этот тип запроса пароля не выполняется собственно gpg, а gpg-agent.
Вы можете настроить свой gpg-агент, для которого необходимо использовать программу pinentry. Есть варианты как при запуске агента, так и в файле конфигурации gpg-agent - пожалуйста, взгляните на страницу руководства.
Так что я вижу два варианта:
- Настройте GPG-агент использовать нужный метод
- Отключение GPG-агента; вы можете сделать это для одного вызова gpg, отключив переменную окружения
GPG_AGENT_INFO
, напримерGPG_AGENT_INFO="" gpg ...
. gpg имел опцию--no-use-agent
, но это было отмечено устаревшим и не имеет функциональности в последней версии gpg.
Вы можете сделать это:
gpg --batch --decrypt --passphrase-fd 0 gpgfile < passphrase-file
Мне пришлось добавить '--no-use-agent' на Ubuntu Linux 14.04 - в противном случае вы получите сообщение об ошибке gpg: не можете запросить кодовую фразу в пакетном режиме \ ngpg: ошибка создания кодовой фразы: неверная кодовая фраза \ ngpg: симметричное шифрование' [ stdin] 'не удалось: неверная кодовая фраза –
Вы можете установить следующую переменную окружения, чтобы отключить графический быстрое
export PINENTRY_USER_DATA="USE_CURSES=1"
Не работает на Ubuntu 16.10 – Starx
Не работает на Debian Stretch (gnupg 2.1.18). – schlimmchen
я создал ~/.gnupg/GPG-agent.conf и написал 'pinentry-program/usr/bin/pinentry-curses'. Не работает для меня! Использование 'gpg --no-use-agent' сделало трюк. –
@MayankPundir этот параметр устарел в течение некоторого времени; Я обновил свой ответ соответственно. – Skyr
GPG_AGENT_INFO = "" gpg ... работал для меня, --no-use-agent - нет. Ubuntu 14.04 –