![gpg 无法解析/连接到密钥服务器](https://linux22.com/image/220115/gpg%20%E6%97%A0%E6%B3%95%E8%A7%A3%E6%9E%90%2F%E8%BF%9E%E6%8E%A5%E5%88%B0%E5%AF%86%E9%92%A5%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
环境
- 操作系统是Artix Linux 6.0.11
- GPG 为 2.2.40
- libcrypt 是 1.10.2
- 密钥服务器可以是任何(ubuntu、sks、mit 等)
问题
我想通过更新我的系统pacman -Syu
,需要导入 Torsten 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
网络浏览器工作得很好,所以我不知所措。这不是 DNS 的问题,
nslookup
所以说,尽管 ping 不起作用。
在我盲目的愚蠢行为中,有什么明显的事情需要我去调试吗?
Apendix I:
从 keyserver.ubuntu.com 手动导入 ~3 个密钥会导致边缘/未知的信任,并且 pacman 认为缓存的包已损坏(我厌倦了确认 Galaxy 和 Extra 之间的提供程序选择,并使用 --noconfirm 运行,删除了 600Mb 的缓存有效的包)
我还没有找到为什么 gpg 无法连接到服务器的原因,我会尝试代理,尽管我怀疑它会有所帮助
答案1
请记住使您的密钥环和镜像列表保持最新,并加入存储库的邮件列表以安装重大更改,例如添加存储库并将多个软件包移至那里。 Artix 已经(很久以前)添加了 [universe] 存储库,并将几个 arch 软件包移到了那里,最重要的一个是 archlinux-keyring
我注意到我只安装了 lib32 密钥环,但从未费心去检查为什么盲目地假设 Artix 已经远离 Arch 以至于它可以维护自己的软件包版本......
我现在已经启用了 [universe] 存储库,pacman -Syu
并pacman-key {--init,--populate,--refresh-keys}
解决了我的问题