16

Без запуска gpg-agent я могу ввести свою фразу-пароль для подписи:

$ echo 123 | gpg -s

You need a passphrase to unlock the secret key for
user: "Mr. Ops <ops@bxxx.com>"
2048-bit RSA key, ID 20F31903, created 2014-03-13

gpg: gpg-agent is not available in this session
Enter passphrase:

Работает отлично. Но я не хочу постоянно вводить свою фразу-пароль, поэтому я запускаю gpg-agent:

$  eval $(gpg-agent --daemon)

Теперь я ожидаю, что мне будет предложено ввести пароль хотя бы один раз, но я никогда не получаю, и все операции, использующие gpg, не будут выполнены.

$ echo 123 | gpg -s

You need a passphrase to unlock the secret key for
user: "Mr. Ops <ops@bxxxx.com>"
2048-bit RSA key, ID 20F31903, created 2014-03-13

gpg: cancelled by user
gpg: no default secret key: bad passphrase
gpg: signing failed: bad passphrase

Как мне сохранить пароль в агенте? Как только я его там получу, как мне сохранить его во время сеансов входа? (В идеале я никогда не хочу, чтобы мне снова подсказали.) Это на Ubuntu 12.04.4 со стандартными пакетами apt-get gpg, если это имеет значение.

2 ответа2

17

Это происходит, когда gpg-agent не знает, какой TTY запрашивать, что происходит здесь, потому что вы перенаправляете стандартный ввод.

Вы можете поместить export GPG_TTY=$(tty) в ваш ~/.bashrc чтобы настроить TTY для каждой оболочки входа в систему.

В документации по gpg-agent есть больше деталей.

7

Довольно поздно, но в настоящее время я сталкиваюсь с этой проблемой, когда делаю удаленный вход в систему на своем ПК (Linux-Centos) и пытаюсь расшифровать файл PGP. Я попробовал предложение Дейва, без удачи, погуглив, я нашел это

gpg: отменено пользователем

Эта часть решает мою проблему:

Наконец, после разрешения других на r+w на tty, кажется, решить эту проблему

[root @ host ~] # chmod o+rw $(tty)

Надеюсь, что это может помочь кому-то еще.

BR.

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