gpg-agent nie może zostać osiągnięty

11

Przy świeżej instalacji Ubuntu 16.04 chciałbym użyć gpg do szyfrowania moich kopii zapasowych baz danych, ale nie mogę tego zrobić gpg-agent.

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

You need a passphrase to unlock the secret key for
user: "Nicolas Remond <[email protected]>"
2048-bit RSA key, ID F5DECA47, created 2016-11-03

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

Wygląda też na to, że gpg-agent działa, jak wcześniej:

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

A konfiguracja gpg ma use-agentustawienie:

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

Czego mi brakuje ?

n1r3
źródło
Uruchom agenta za pomocą --log-file [myfile]i sprawdź, czy w dzienniku występują błędy.
Raniz,
Mam odpowiedni komunikat o błędzie gpg: gpg-agent is not available in this session. Gdybym miał log, jak sugerujesz, dostaję tylko:2016-12-19 13:39:39 gpg-agent[10957] gpg-agent (GnuPG) 2.1.11 started
n1r3,
Próbowałem ręcznie ustawić GPG_AGENT_INFO, ale nie wiem, jak wiedzieć, co ustawić ... wtedy dostałem gpg: problem with the agent - disabling agent use.
n1r3
Jako root ustawienie export GPG_AGENT_INFO=/var/lib/postgresql/.gnupg/S.gpg-agent:0:1działa, ale nie jako użytkownik. Wygląda na to, że musiałbym to zrobić ręcznie, prawda?
n1r3
Czy dodałeś ten GPG_TTY = $ (tty) eksport GPG_TTY do pliku .bashrc , jak podano na stronie _man gpg-agent?
George Udosen,

Odpowiedzi:

13

Odpowiadając sobie na wypadek, gdyby ktoś inny utknął na tym.

W systemie Ubuntu 16.04 domyślnymi wersjami są:

    # gpg --version
    gpg (GnuPG) 1.4.20

i

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

Nie są kompatybilne. Korzystanie z GPG2 jest obowiązkowe:

    # gpg2 --version
    gpg (GnuPG) 2.1.11
n1r3
źródło
0

Rozwiązaniem jest instalacja gpgv2:

sudo apt install gpgv2

Wynika to z faktu, że gpg-agent dostarczany z Ubuntu jest wersją 2 i próbuje połączyć się z gpg w wersji 2. Ale Ubuntu ma zainstalowaną wersję 1 gpg.

Subin
źródło
3
prawdopodobnie miałeś na myślignupg2
Dmitriusan