gpg-agent недоступен


11

При новой установке Ubuntu 16.04 я хотел бы использовать gpg для шифрования резервных копий моей базы данных, но у меня не получается gpg-agentработать.

postgres@db:~$ gpg -s test.txt

You need a passphrase to unlock the secret key for
user: "Nicolas Remond <nicolas@xxx.com>"
2048-bit RSA key, ID F5DECA47, created 2016-11-03

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

Кроме того, похоже, что gpg-agent работает так, как я делал это раньше:

postgres@db:~$ gpg-agent
gpg-agent[1715]: no gpg-agent running in this session
postgres@db:~$ gpg-connect-agent /bye
gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent'
gpg-connect-agent: waiting for the agent to come up ... (5s)
gpg-connect-agent: connection to agent established
postgres@db:~$ pidof gpg-agent
1762

И конфиг gpg имеет use-agentнастройку:

postgres@dbmaster0:~$ cat ~/.gnupg/gpg.conf | grep use-agent
# For Ubuntu we now use-agent by default to support more automatic
use-agent

Что мне не хватает?


Запустите агент --log-file [myfile]и посмотрите, нет ли в нем ошибок.
Ранис

Правильное сообщение об ошибке у меня есть gpg: gpg-agent is not available in this session. Если бы у меня был журнал, как вы предлагаете, все, что я получил, это:2016-12-19 13:39:39 gpg-agent[10957] gpg-agent (GnuPG) 2.1.11 started
n1r3

Я пытался установить вручную GPG_AGENT_INFO, но я не знаю, как узнать, что установить ... вот когда я получил gpg: problem with the agent - disabling agent use.
n1r3

Как root, настройка export GPG_AGENT_INFO=/var/lib/postgresql/.gnupg/S.gpg-agent:0:1работает, но не как пользователь. Кроме того, кажется, что я должен был бы сделать это вручную, нет?
n1r3

Вы добавили этот GPG_TTY = $ (tty) экспорт GPG_TTY в свой файл .bashrc, как указано на странице _man gpg-agent?
Джордж Удосен

Ответы:


13

Отвечаю себе, если кто-то еще застрял на этом.

В Ubuntu 16.04 версиями по умолчанию являются:

    # gpg --version
    gpg (GnuPG) 1.4.20

и

    # gpg-agent --version
    gpg-agent (GnuPG) 2.1.11

Они не совместимы. Обязательно использовать GPG2:

    # gpg2 --version
    gpg (GnuPG) 2.1.11

0

Решение заключается в установке gpgv2:

sudo apt install gpgv2

Это потому, что gpg-agent, который поставляется с Ubuntu, имеет версию 2 и пытается подключиться к gpg с версией 2. Но в Ubuntu установлена ​​версия gpg 1.


3
Возможно, вы имели в видуgnupg2
Дмитриусан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.