apt-key 不会信任 gpg 证书

apt-key 不会信任 gpg 证书

我正在尝试设置我自己的Debian存储库,不要问为什么:P,按照以下步骤操作这里

虽然一切看起来都不错,但他们apt update不会接受我的回购协议

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9C7C30D8EBE3A31C

注意:我正在另一台机器上尝试apt update,而不是我托管存储库的机器

我认为在远程计算机上导入公共 gpg 证书应该可行,所以我尝试了以下方法:

- gpg import <public_key>
- Also added it to trust [ultimate]
- Verified that the gpg --verify against the InRelease file and the import certificate reports good

但似乎可能apt-key正在使用它自己的信任存储,因此受到启发apt-key 联机帮助页,我这样做了

cat pgp-key.public | apt-key --keyring /etc/apt/trusted.gpg.d/myrepo.gpg add -
OK

但运气不佳:(apt-key不断抛出该错误。我可以看到它9C7C30D8EBE3A31C与可信密钥输出中的最后 4 个块相匹配

apt-key list
/etc/apt/trusted.gpg.d/myrepo.gpg
---------------------------------
pub   rsa4096 2022-08-14 [SCEA]
      F0E2 600D C4A4 408B AA69  59B8 9C7C 30D8 EBE3 A31C
uid           [ unknown] example <[email protected]>

运气好的话就做什么。

注意:我认为我仍然可以使用--allow-unauthenticated选项进行升级,使用选项进行更新--allow-insecure-repositories,但我希望摆脱此错误

答案1

发现问题了:)

由于apt-key维护自己的一组可信密钥,这就是我修改步骤的方式:

  • 不要[signed-by=<file-path>]在源列表中指定

并将公钥导入到apt-key可信来源

cat pgp-key.public | apt-key --keyring /etc/apt/trusted.gpg.d/myrepo.gpg add -

通过这个简单的改变,apt不再抱怨公钥,并且会愉快地升级

相关内容