秘密鍵にアクセスしようとすると、gpg-agentは中断されます。

秘密鍵にアクセスしようとすると、gpg-agentは中断されます。

私のシステムでgpg(実際に)を使うのにgpg-agent問題があります。Debian Bullseye (Stable)より正確には、次を使用します。

gpg --version | head -n2
gpg (GnuPG) 2.2.27
libgcrypt 1.8.8

uname -v
#1 SMP Debian 5.10.46-4 (2021-08-03)

lsb_release -a 2> /dev/null
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:    11
Codename:   bullseye

約3ヶ月間コンピュータを再起動しませんでした。これまで、gpg特に難なく使用(暗号化、復号化、署名、認証、鍵管理)ができました。過去数ヶ月間、いくつかのアップデートがありましたが、それらのどれも私に問題を引き起こしていませんでした(私が使用する以外needrestart)。過去3ヶ月間、関連する設定ファイル(私の知る限り~/.gnupg/gpg.conf、、、)で何も変更していません~/.gnupg/gpg-agent.conf~/.gnupg/dirmngr.conf

私は今日私のコンピュータを再起動しましたが、突然私のコンピュータを使用してキーにgpg-agent関連するタスクを実行することはできません。同時に結果が無期限に中断さgpg -k [1]れます。同様に、また絞首刑につながるでしょう。同様に、私のsystemd-unit-fileは普通ではありません。gpg --search-keys DEADBEEFgpg -Kgpg -d /PATH/TO/ENCRYPTED/FILEgpg-connect-agent reloadagent /byegpgconf --kill gpg-agentsystemctl --user start gpg-agent

systemctl --user cat gpg-agent | grep -Ev '^#|^$'
[Unit]
Description     = gpg-agent (password store for gpg-keys)
[Service]
Type            = forking
ExecStart       = /usr/bin/gpg-agent --daemon
ExecStop        = /usr/bin/gpg-connect-agent /bye
Restart         = on-abort
[Install]
WantedBy        = default.target

私はこの問題が他の人によって説明されていることを知っています(例:ここしかし、言及された解決策()は、対応する文字列(読み取り:)pkill -9 gpg-agentを含む他のプロセスが実行されていない場合でも発生するため、私には効果がありません。gpggpg-agent

ps -ef | grep gpg && echo " " && gpg --verbose --debug-level guru -K
MYUSERNAME     59248 59247  0 17:17 pts/1    00:00:00 grep --color=auto gpg
 
gpg: enabled debug flags: packet mpi crypto filter iobuf memory cache memstat trust hashing ipc clock lookup extprog
gpg: DBG: [not enabled in the source] start
gpg: DBG: [not enabled in the source] keydb_new
gpg: DBG: [not enabled in the source] keydb_search_reset
gpg: DBG: keydb_search: reset  (hd=0x000055c04a474cd0)
gpg: DBG: [not enabled in the source] keydb_search enter
gpg: DBG: keydb_search: 1 search descriptions:
gpg: DBG: keydb_search   0: FIRST
gpg: DBG: keydb_search: searching keybox (resource 0 of 1)
gpg: DBG: keydb_search: searched keybox (resource 0 of 1) => Success
gpg: DBG: [not enabled in the source] keydb_search leave (found)
gpg: DBG: [not enabled in the source] keydb_get_keybock enter
gpg: DBG: parse_packet(iob=1): type=6 length=51 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=12 length=12 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=13 length=19 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=12 length=12 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=2 length=150 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=12 length=6 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=2 length=150 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=12 length=6 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=14 length=56 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=2 length=126 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=12 length=6 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=14 length=51 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=2 length=245 (parse.../../g10/keydb.c.1242)
gpg: DBG: parse_packet(iob=1): type=12 length=6 (parse.../../g10/keydb.c.1242)
gpg: DBG: iobuf-1.0: underflow: buffer size: 924; still buffered: 0 => space for 924 bytes
gpg: DBG: iobuf-1.0: close '?'

<<< HERE HANGING INDEFINITELY >>>

^C
gpg: signal Interrupt caught ... exiting

私の変数GPG_AGENT_INFOとGPG_TTYも設定されました。

echo -e "$GPG_AGENT_INFO\n$GPG_TTY"
/run/user/1000/gnupg/S.gpg-agent:0:1
/dev/pts/1

ところで、再起動してください。何も変えませんでした。どんなアイデアがありますか?


edit1: 再インストールしても問題はgpg解決gpg-agentしません。dirmngrまた、ファイルを削除しても~/.gnupg/gpg.conf問題は解決しません~/.gnupg/gpg-agent.conf~/.gnupg/dirmngr.conf


edit2:これまで、、、および新しいバージョンをアップグレードしPureOS Amberて再インストールしましたが(新しいバージョンを反映するように上記のテキストを変更しましたが)、問題は解決しません。Debian Stable (Bullseye)gpggpg-agentdirmngrlibgcrypt20


[1]技術的にも中断されましたが、私の-fileでそのオプションを有効にしたgpg -kためです。コメントしたところ、問題がなくなりました。with-secretgpg.conf

答え1

ついに解決策を見つけましたが、理解できたかどうかはよくわかりません。

gpg-agentどうやらリリースされたバージョンがsystemd問題のようです。実行systemctl --user mask gpg-agent後にgpg-agent手動で再起動すると問題がなくなりました。なぜこれが起こるのか理解しようとし、ここにアップデートを書きましょう。

答え2

通常、これはreinstall gnupg問題を解決します。問題の原因が別のものでない限り。

関連情報