如何修复丢失的 GPG 密钥?

如何修复丢失的 GPG 密钥?

我刚刚安装了 Ubuntu 12.04 并且添加了一些 repo,但是当我这样做时apt-get update,我发现缺少 gpg 密钥。

以下命令似乎对我来说不起作用:

apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "\nProcessing key: $key"; gpg --keyserver subkeys.pgp.net --recv $key && sudo gpg --export --armor $key | apt-key add -; done

如何解决这个问题?

答案1

我喜欢这个解决方案,从 Ubuntu 密钥服务器重新下载丢失的密钥。

对于 Ubuntu

就我而言

 Reading package lists... Done  
 W: GPG error: http://ppa.launchpad.net precise 
 Release: The following signatures couldn't be verified because the public key is not available: 
 NO_PUBKEY 2EA8F35793D8809A

这是添加错误消息中提到的缺少的键的命令。

sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 2EA8F35793D8809A

因此我拿出丢失的密钥2EA8F35793D8809A并要求 keyserver.ubuntu.com 将其添加到我在 apt 中的密钥列表中。

对于 Linux Mint
你的密钥服务器略有不同keyserver.linuxmint.com

sudo apt-key adv --recv-key --keyserver keyserver.linuxmint.com "missing key"

尝试其他密钥服务器
keyserver.ubuntu.com

答案2

有一个名为的软件Y PPA manager可以帮助修复 GPG 密钥错误。
Y PPA 经理

安装 -

sudo add-apt-repository ppa:webupd8team/y-ppa-manager  
sudo apt-get update  
sudo apt-get install y-ppa-manager    

安装后启动它,然后转到advance并选择“导入所有缺失的 GPG 密钥”

答案3

apt-key adv --recv-keys在防火墙后面,自动下载功能可能无法运行。

在这种情况下,打开Ubuntu 密钥服务器在您的网络浏览器中搜索字符串0x<hexadecimal code of your missing key>

打开酒吧部分。将关键内容(从-----BEGIN PGP PUBLIC KEY BLOCK----------END PGP PUBLIC KEY BLOCK-----)保存为文件。

然后运行:

sudo apt-key add <file-with-saved-key>

来源:http://opensourceforgeeks.blogspot.in/2013/04/w-gpg-error-httpppalaunchpadnet-precise.html

答案4

对于 Ubuntu 12.04 Precise:永久解决方案

添加新存储库并更新存储库列表后出现此错误消息。这是由于服务器的地址不再有效。因此只需将地址更改为正确的地址即可。

  1. 打开文件~/.gnupg/gpg.conf使用文本编辑器。

    在终端:gedit ~/.gnupg/gpg.conf

  2. 然后,在此文件中找到以下粗体行(第 116 行)(应为默认行,如下所示):

    [...]
    密钥服务器 hkp://keys.gnupg.net
    # 密钥服务器邮箱:[电子邮件保护]
    # 密钥服务器 ldap://keyserver.pgp.com

  3. 然后添加以下粗体行,最终得到以下结果:

    (在第二行添加#来注释掉旧地址)

    [...]
    keyserver http://keyserver.ubuntu.com
    #密钥服务器 hkp://keys.gnupg.net
    # 密钥服务器 mailto:[电子邮件保护]
    # 密钥服务器 ldap://keyserver.pgp.com

  4. 保存文件并尝试再次更新:

    在终端:sudo apt-get update

相关内容