gpg가 키 서버를 확인/연결할 수 없습니다.

gpg가 키 서버를 확인/연결할 수 없습니다.

환경

  • 운영 체제는 Artix Linux 6.0.11입니다.
  • GPG는 2.2.40입니다.
  • libcrypt는 1.10.2입니다.
  • 키 서버는 무엇이든 가능합니다(ubuntu, sks, mit 등).

질문

나는 내 시스템을 업데이트함으로써 pacman -SyuTorsten Kessler, David Runge 및 "원격으로 조회할 수 없는" 키를 가진 다른 사람들의 키를 가져와야 한다고 생각했습니다.

글쎄, gpg --recv-keys그게 다야! 하지만 아쉽게도 GPG는 시간이 초과되고 "서버 표시 실패" 메시지가 표시될 때까지 기다리고 또 기다리고 기다리기 때문에 결과는 다음과 같습니다.

[user@localhost ~]$ dirmngr --daemon --debug-all --standard-resolver & gpg --debug-level 7 --keyserver hkp://keyserver.kjsl.com:80 --recv-keys ED587B6247A4152D
[1] 20203
gpg: enabled debug flags: packet filter cache memstat trust extprog
dirmngr[20203]: reading options from '/home/user/.gnupg/dirmngr.conf'
dirmngr[20203]: reading options from '[cmdline]'
dirmngr[20203]: enabled debug flags: x509 crypto memory cache memstat hashing ipc dns network lookup extprog
dirmngr[20203]: listening on socket '/run/user/1000/gnupg/S.dirmngr'
DIRMNGR_INFO=/run/user/1000/gnupg/S.dirmngr:20206:1; export DIRMNGR_INFO;
dirmngr[20206.0]: error loading certificate '/etc/ssl/certs/ca-certificates.crt': Certificate expired
dirmngr[20206.0]: error loading certificate '/etc/ssl/certs/ca-certificates.crt': Certificate expired
dirmngr[20206.0]: permanently loaded certificates: 141
dirmngr[20206.0]:     runtime cached certificates: 0
dirmngr[20206.0]:            trusted certificates: 141 (141,0,0,0)
gpg: keyserver receive failed: Server indicated a failure
gpg: keydb: handles=0 locks=0 parse=0 get=0
gpg:        build=0 update=0 insert=0 delete=0
gpg:        reset=0 found=0 not=0 cache=0 not=0
gpg: kid_not_found_cache: count=0 peak=0 flushes=0
gpg: sig_cache: total=0 cached=0 good=0 bad=0
gpg: random usage: poolsize=600 mixed=0 polls=0/0 added=0/0
              outmix=0 getlvl1=0/0 getlvl2=0/0
gpg: rndjent stat: collector=0x0000000000000000 calls=0 bytes=0
gpg: secmem usage: 0/32768 bytes in 0 blocks
dirmngr[20206.0]: socket file has been removed - shutting down
dirmngr[20206.0]: dirmngr (GnuPG) 2.2.40 stopped
  • 처음에 나는 그것이 NetworkManager(이전에 이 작업을 수행한 적이 있었고 나에게 일반적인 걸림돌이었습니다)라고 생각하여 제거했습니다. 그것은 문제가 아니었습니다.

  • dhcpcd/etc/resolv.conf다음과 같은 경우에도 문제가 되지 않습니다 .

    # Generated by dhcpcd from eth0.dhcp
    nameserver 9.9.9.9
    nameserver 192.168.1.1
    # /etc/resolv.conf.tail can replace this line
    

    참고: /etc/resolv.conf.head다음을 포함합니다nameserver 9.9.9.9

  • 서버에 ping을 할 수는 없지만 nslookup웹 브라우저는 잘 작동해서 당황스럽습니다.

  • nslookup말하자면 DNS 문제는 아니지만 ping이 작동하지 않습니다.

내 맹목적인 멍청함에 디버깅해야 할 명백한 것이 있습니까?

Apendix I:
keyserver.ubuntu.com에서 ~3개의 키를 수동으로 가져오면 한계/알 수 없는 신뢰가 발생했고 pacman은 캐시된 패키지가 손상되었다고 생각했습니다. (Galaxy와 Extra 사이의 공급자 선택을 확인하는 데 지쳤고 --noconfirm을 사용하여 실행하여 캐시된 유효한 패키지 600Mb를 제거했습니다.)
gpg가 서버에 연결할 수 없는 이유를 찾지 못했습니다. 프록시를 사용해 보겠습니다. 도움이 될지는 의문입니다.

답변1

키링과 미러 목록을 최신 상태로 유지하고 저장소의 메일링 리스트에 가입하여 저장소 추가 및 여러 패키지 이동과 같은 주요 변경 사항을 설치하는 것을 잊지 마십시오. Artix는 (오래 전에) [유니버스] 저장소를 추가하고 여러 아치 패키지를 그곳으로 옮겼습니다. 가장 중요한 패키지는 archlinux-keyring입니다.

lib32 키링만 설치되어 있다는 것을 알았지만 Artix가 Arch에서 너무 멀리 이동하여 자체 패키지 버전을 유지할 수 있다고 맹목적으로 가정한 이유를 확인하지 않았습니다...

이제 [유니버스] 저장소를 활성화 pacman -Syu하고 pacman-key {--init,--populate,--refresh-keys}문제를 해결했습니다.

관련 정보