gpg-агент не можна отримати


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-агент працює, як я робив наступне раніше:

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-агент, що постачається з Ubuntu, є версією 2, і він намагається підключитися до gpg з версією 2. Але на Ubuntu встановлена ​​gpg версія 1.


3
напевно, ви мали на увазіgnupg2
Дмитріусан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.