Não é possível acessar o gpg-agent

11

Em uma nova instalação do Ubuntu 16.04, eu gostaria de usar o gpg para criptografar os backups do meu banco de dados, mas não posso gpg-agentfuncionar.

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: 

Além disso, parece que um gpg-agent está sendo executado como fiz antes:

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

E a configuração do gpg tem a use-agentconfiguração:

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

O que estou perdendo ?

n1r3
fonte
Inicie o agente --log-file [myfile]e veja se ele apresenta algum erro no log.
Raniz 19/12/16
A mensagem de erro certa que tenho é gpg: gpg-agent is not available in this session. Se eu tivesse um log como você sugere, tudo o que tenho é:2016-12-19 13:39:39 gpg-agent[10957] gpg-agent (GnuPG) 2.1.11 started
n1r3 19/12/19
Eu tentei definir manualmente GPG_AGENT_INFO, mas não sei como saber o que definir ... foi quando recebi um gpg: problem with the agent - disabling agent use.
N1r3
Como raiz, a configuração export GPG_AGENT_INFO=/var/lib/postgresql/.gnupg/S.gpg-agent:0:1funciona, mas não como um usuário. Além disso, parece que eu teria que fazer isso manualmente, não?
n1r3
Você adicionou esta exportação GPG_TTY = $ (tty) GPG_TTY ao seu arquivo .bashrc, conforme indicado na página _man gpg-agent?
George Udosen

Respostas:

13

Respondendo a mim mesmo no caso de alguém estar preso a isso.

No Ubuntu 16.04, as versões padrão são:

    # gpg --version
    gpg (GnuPG) 1.4.20

e

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

Eles não são compatíveis. É obrigatório usar o GPG2:

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

A solução é instalar gpgv2:

sudo apt install gpgv2

Isso ocorre porque o gpg-agent que acompanha o Ubuntu é a versão 2 e tenta se conectar ao gpg com a versão 2. Mas o Ubuntu tem a versão 1 do gpg instalada.

Subin
fonte
3
provavelmente você quis dizer #gnupg2
Dmitriusan