En una nueva instalación de Ubuntu 16.04, me gustaría usar gpg para cifrar las copias de seguridad de mi base de datos, pero no puedo tener el gpg-agent
trabajo.
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:
Además, parece que se está ejecutando un gpg-agent como hice lo siguiente 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
Y la configuración de gpg tiene la use-agent
configuración:
postgres@dbmaster0:~$ cat ~/.gnupg/gpg.conf | grep use-agent
# For Ubuntu we now use-agent by default to support more automatic
use-agent
Qué me estoy perdiendo ?
--log-file [myfile]
y vea si le da algún error en el registro.gpg: gpg-agent is not available in this session
. Si tenía un registro de cómo sugiere, todo lo que tengo es:2016-12-19 13:39:39 gpg-agent[10957] gpg-agent (GnuPG) 2.1.11 started
GPG_AGENT_INFO
, pero no sé cómo configurarlo ... ahí fue cuando obtuve ungpg: problem with the agent - disabling agent use
.export GPG_AGENT_INFO=/var/lib/postgresql/.gnupg/S.gpg-agent:0:1
funciona, pero no como usuario. Además, parece que tendría que hacerlo manualmente, ¿no?Respuestas:
Respondiéndome en caso de que alguien más esté atrapado en esto.
En Ubuntu 16.04, las versiones predeterminadas son:
y
No son compatibles Es obligatorio usar GPG2:
fuente
La solución es instalar
gpgv2
:Esto se debe a que el agente gpg que viene con Ubuntu es la versión 2 e intenta conectarse a gpg con la versión 2. Pero Ubuntu tiene instalada la versión 1 de gpg.
fuente
gnupg2