Как заставить GPG использовать консольный режим pinentry для запроса паролей?

Всякий раз, когда я пытаюсь использовать gpg из среды на основе консоли, такой как сеансы ssh, она терпит неудачу, потому что диалоговое окно pinentry GTK не может отображаться в сеансе SSH.

Я попытался unset DISPLAY но это не помогло. Параметры командной строки GPG не включают в себя переключатель для принудительной установки pinentry в консольный режим.

Старые версии GPG предложили текстовую подсказку, которая отлично работала на сеансах SSH, но после обновления она просто терпит неудачу.

Существует --textmode командной строки --textmode но он, похоже, не работает и, по-видимому, предназначен для выполнения чего-то еще, что еще более вводит в заблуждение.

Каким будет правильный и чистый способ получения ввода в виде обычного текста для удаленных сеансов?

3 Solutions collect form web for “Как заставить GPG использовать консольный режим pinentry для запроса паролей?”

Чтобы изменить булавку навсегда, добавьте следующее к вашему ~/.gnupg/gpg-agent.conf :

 pinentry-program /usr/bin/pinentry-tty 

(В более старых версиях, у которых отсутствует pinentry-tty, используйте pinentry-curses для диалогового окна «полный-терминал».)

Попросите агента GPG перезагрузить конфигурацию:

 gpg-connect-agent reloadagent /bye 

Чтобы предотвратить всплывающее окно pinentry, вы можете ssh localhost . При необходимости принудительно отключив X11, -x Disables X11 forwarding. См. Полный пример ниже.

 patrick@patrick-C504:~$ ssh localhost patrick@localhost's password: Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-68-generic x86_64) * Documentation: https://help.ubuntu.com/ Last login: Mon Nov 16 22:48:53 2015 from localhost patrick@patrick-C504:~$ gpg --gen-key gpg (GnuPG) 1.4.16; Copyright (C) 2013 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection? 4 RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) Requested keysize is 2048 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct? (y/N) y You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Real name: Foo Name must be at least 5 characters long Real name: FooBar Email address: foorbar@foo.bar Comment: You selected this USER-ID: "FooBar <foorbar@foo.bar>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o You need a Passphrase to protect your secret key. gpg: gpg-agent is not available in this session Enter passphrase: 

Я нашел «полный пример» в ответе PvdL немного запутанным, вот что я делаю:

 ssh -X machine # work hack hack work until I need something from gpg ssh -x localhost -p$port gpg2 --decrypt file.gpg # enter password to pinentry exit # now the key is unlocked in gpg-agent, and I can keep decrypting files # from my X ssh session without being asked for the password 
  • Добавить статический вход ARP в маршрутизатор Verizon AC1750
  • Совместное использование одного и того же `ssh-agent` между несколькими сеансами входа в систему
  • Как я могу заставить ssh-agent работать над ssh и tmux (в OS X)?
  • Как копировать выходные данные из удаленной команды в локальный буфер обмена?
  • Передача портов туннелирования ssh
  • Как туннель Windows Remote Dektop через две машины
  • Разрешения ssh и home directory
  • Как получить команды, выпущенные в сеансе ssh
  • Передача переменной среды через SSH / цитирование в bash / sh / csh / tcsh
  • Как настроить ssh, key-based («без пароля») для входа на сервер sshd Linux / MacOSX через клиентов Windows, Linux или MacOSX?
  • Стабильная обратная пересылка портов в SSH и устаревших сеансах
  • Interesting Posts

    Как добавить разрешение манифеста в приложение для Android?

    Как запрограммировать триггер MySQL для вставки строки в другую таблицу?

    Как восстановить данные с зашифрованного жесткого диска, который был снесен «резервным разделом Microsoft»,

    Скриптинг Bitlocker Расшифровка локального жесткого диска

    Поставщик Microsoft.ACE.OLEDB.12.0 не зарегистрирован

    Как настроить Windows с внешнего жесткого диска?

    Могу ли я регистрировать операции с файлами (создавать / изменять / удалять) в Windows?

    Поддерживает ли Mac OS X реестры для установленных приложений?

    Начать процесс с высоким приоритетом

    Лог%% по процессу со временем

    Функция автозаполнения не требует правильного повторения чисел при использовании формулы AVERAGE () в Microsoft Excel

    расплавить / переделать в excel с помощью VBA?

    Не удается подключить электронную почту Office 365 с Outlook 2010

    Как сделать панель инструментов прозрачной?

    Я могу использовать больше памяти, чем то, что я выделил с помощью malloc (), почему?

    Давайте будем гением компьютера.