Как заставить gpg найти gpg-agent


23

На Fedora 22 gpg не находит gpg-agent:

% gpg-agent --daemon                                           

% gpg -vvv --use-agent --no-tty --decrypt file.gpg 
gpg: using character set `utf-8'
:pubkey enc packet: version 3, algo 1, keyid 3060B8F7271AFBAF
  data: [4094 bits]
gpg: public key is 271AFBAF
gpg: using subkey 271AFBAF instead of primary key 50EA64D5
gpg: using subkey 271AFBAF instead of primary key 50EA64D5
gpg: gpg-agent is not available in this session
gpg: Sorry, no terminal at all requested - can't get input

Ответы:


36

Просмотр версий обнаруживает проблему:

% gpg-agent --version
gpg-agent (GnuPG) 2.1.7

% gpg --version                                                               
gpg (GnuPG) 1.4.19

Компоненты поставляются из разных пакетов ( gnupg2-2.1.7-1.fc22.x86_64и gnupg-1.4.19-2.fc22.x86_64в моем случае). Решение состоит в том, чтобы использовать gpg2 команду вместо gpg.


1
Спасибо. я потратил 30 минут в интернете, пытаясь выяснить это ... оказывается, что большинство документации и инструкций не учитывают разрыв между версиями инструментов. мне приходилось вводить парольную фразу для каждого запуска gpg на 20 файлах, которые я хотел подписать, теперь я могу сделать это только один раз. еще раз спасибо.
Дон Яркий

это все еще актуально для Fedora 27; использование gpg2также позволяет интегрировать гномов
Алекс Гёшев

8

В случае, если это полезно для некоторых, gpg1.4 может прекрасно работать с gpg-agent2.1.

При просмотре я нашел этот пост: https://lists.gnupg.org/pipermail/gnupg-devel/2014-October/029024.html

Агент совместим, но больше не экспортирует переменные окружения, которые ожидала старая версия gpg. Если вы установите их вручную, это будет работать:

export GPG_AGENT_INFO=${HOME}/.gnupg/S.gpg-agent:0:1


Fedora использует другой путь к сокету по умолчанию. Я должен был использовать GPG_AGENT_INFO=/run/user/$(id -u)/gnupg/S.gpg-agent:0:1вместо этого.
Павел Веселов
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.