Ubuntu 16.04の新規インストールで、gpgを使用してデータベースバックアップを暗号化したいのですが、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:
また、以前に以下を行ったように、gpgエージェントが実行されているようです。
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
そして、gpg設定には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
私は何が欠けていますか?
他の誰かがこれに引っかかっている場合に備えて、自分自身に答えてください。
Ubuntu 16.04では、デフォルトのバージョンは次のとおりです。
# gpg --version
gpg (GnuPG) 1.4.20
そして
# gpg-agent --version
gpg-agent (GnuPG) 2.1.11
互換性がありません。 GPG2の使用は必須です:
# gpg2 --version
gpg (GnuPG) 2.1.11
解決策はgpgv2
をインストールすることです:
Sudo apt install gpgv2
これは、Ubuntuに付属するgpg-agentがバージョン2であり、バージョン2でgpgに接続しようとするためです。しかし、Ubuntuにはgpgバージョン1がインストールされています。