Sur une nouvelle installation Ubuntu 16.04, je voudrais utiliser gpg pour chiffrer les sauvegardes de ma base de données, mais je ne peux pas utiliser le 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:
De plus, il semble qu'un agent gpg est en cours d'exécution, comme je l'avais déjà fait auparavant:
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
Et la configuration gpg a le paramètre 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
Qu'est-ce que je rate ?
Me répondre au cas où quelqu'un d'autre serait coincé là-dessus.
Sur Ubuntu 16.04, les versions par défaut sont les suivantes:
# gpg --version
gpg (GnuPG) 1.4.20
et
# gpg-agent --version
gpg-agent (GnuPG) 2.1.11
Ils ne sont pas compatibles. Il est obligatoire d’utiliser GPG2:
# gpg2 --version
gpg (GnuPG) 2.1.11
La solution consiste à installer gpgv2
:
Sudo apt install gpgv2
Ceci est dû au fait que gpg-agent fourni avec Ubuntu est la version 2 et tente de se connecter à gpg avec la version 2. Mais Ubuntu a la version 1 de gpg installée.