agen gpg tidak dapat dihubungi

11

Pada instalasi Ubuntu 16.04 yang baru, saya ingin menggunakan gpg untuk menyalin cadangan basis data saya, tetapi saya tidak dapat menggunakannya 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: 

Juga, tampaknya agen gpg berjalan seperti yang saya lakukan berikut ini sebelumnya:

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

Dan konfigurasi gpg memiliki use-agentpengaturan:

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

Apa yang saya lewatkan?

n1r3
sumber
Mulai agen dengan --log-file [myfile]dan lihat apakah itu memberi Anda kesalahan dalam log.
Raniz
Pesan kesalahan yang saya miliki adalah gpg: gpg-agent is not available in this session. Jika saya memiliki log seperti yang Anda sarankan, yang saya dapatkan adalah:2016-12-19 13:39:39 gpg-agent[10957] gpg-agent (GnuPG) 2.1.11 started
n1r3
Saya mencoba untuk mengatur secara manual GPG_AGENT_INFO, tetapi saya tidak tahu bagaimana mengetahui apa yang harus diatur ... saat itulah saya mendapat gpg: problem with the agent - disabling agent use.
n1r3
Sebagai root, pengaturan export GPG_AGENT_INFO=/var/lib/postgresql/.gnupg/S.gpg-agent:0:1berfungsi, tetapi bukan sebagai pengguna. Juga, sepertinya saya harus melakukannya secara manual, bukan?
n1r3
Apakah Anda menambahkan ini GPG_TTY = $ (tty) ekspor GPG_TTY ke file .bashrc Anda seperti yang dinyatakan dalam halaman _man gpg-agent?
George Udosen

Jawaban:

13

Menjawab diriku kalau-kalau ada orang yang terjebak dalam hal ini.

Pada Ubuntu 16.04, versi standarnya adalah:

    # gpg --version
    gpg (GnuPG) 1.4.20

dan

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

Mereka tidak kompatibel. Wajib untuk menggunakan GPG2:

    # gpg2 --version
    gpg (GnuPG) 2.1.11
n1r3
sumber
0

Solusinya adalah dengan menginstal gpgv2:

sudo apt install gpgv2

Ini karena gpg-agent yang datang dengan Ubuntu adalah versi 2 dan ia mencoba untuk terhubung ke gpg dengan versi 2. Tetapi Ubuntu telah menginstal gpg versi 1.

Subin
sumber
3
mungkin maksud Andagnupg2
Dmitriusan