获取钥匙,第一部分

获取钥匙,第一部分

当我下载更新或安装新软件时,我会收到这些警告,说我没有公钥。这只是某一天出现的,我没有删除/添加任何内容,因此导致此问题。

发布:由于公钥不可用,无法验证以下签名:NO_PUBKEY 16126D3A3E5C1192

我已经尝试过:sudo apt-key update它对一些键起作用,但其他键仍然缺失,我需要添加它们。

我需要帮助添加新密钥和所有密钥的地址。那些不在 Ubuntu 和启动板中的密钥。

答案1

获取钥匙,第一部分

该程序addgpg-apt- 这是我的方法 - 仅当密钥位于 Ubuntu 密钥服务器上时才会起作用,除非您明确指定要从哪个密钥服务器获取密钥。它不会到互联网上查找 PGP 密钥位于哪个密钥服务器上。

使用以下命令

sudo apt-get update | grep "NO_PUBKEY" | awk '{ system("addgpg-apt "$21) }'

将系统地检查每一行输出并将每个密钥发送给addgpg-apt程序。addgpg-apt将尝试从 Ubuntu 密钥服务器获取密钥。

对于 ubuntu.com 或 launchpad.net 项目,它将正常工作。对于其他 GPG 密钥服务器的密钥,您需要在各自的密钥服务器中找到这些密钥的位置,然后对每个密钥使用以下addgpg-apt标志--keyserver

addgpg-apt --keyserver <keyserver> <keyid>

然后它将获取密钥并将其放入您的 APT 密钥环中。

addgpg-apt计划是可通过 PPA 获得

如果第一个命令失败,试试这个

sudo apt-get update | grep "NO_PUBKEY" | awk '{ print $21) }' | xargs addgpg-apt

这将执行与上述相同的操作,只是操作不同。

获取钥匙,第 2 部分

我建议检查其他非 Ubuntu 和非 Launchpad 存储库的 PGP 密钥站点,因为它们很可能列在那里。找到每个存储库后,您可以运行它,addgpg-apt --keyserver <keyserver> <keyid>它会从这些存储库的密钥服务器下载。

答案2

尝试这个:

sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com 16126D3A3E5C1192

其中 '16126D3A3E5C1192' 是失败的密钥

或者

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install launchpad-getkeys

安装后,要导入 PPA 的所有缺失的 GPG 密钥,只需使用以下命令:

sudo launchpad-getkeys

相关内容