gpg с gpg-agent никогда не запрашивает пароль

17

Без запуска 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, на случай, если это имеет значение.

JSD
источник

Ответы:

18

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

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

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

leedm777
источник
7

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

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

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

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

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

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

BR.

Vielinko
источник
Это сработает .. Просто сделайте часть chmod tty перед тем, как делать su пользователю
user169015
Это небезопасно - вы должны убедиться, что tty принадлежит правильному пользователю, или, возможно, использовать группу с необходимыми пользователями и правами группы :)
Legooolas