개인 키에 액세스하려고 하면 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-agentgpg-agent수동으로 다시 시작하면 문제가 사라졌습니다. 왜 이런 일이 발생하는지 이해하려고 노력하고 여기에 업데이트를 작성하겠습니다.

답변2

일반적으로 이렇게 하면 reinstall gnupg문제가 해결됩니다. 문제의 원인이 다른 것이 아닌 한.

관련 정보