尝试添加 GPG 公钥时密钥服务器超时

San*_*euw 80 bash ubuntu gpg

我正在尝试添加用于使用 CPG 安装程序的公钥。但是我对此很陌生,但是我发现的每个命令都给了我同样的错误:

gpg --keyserver keyserver.ubuntu.com --recv-keys 94558F59
gpg: requesting key 94558F59 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
Run Code Online (Sandbox Code Playgroud)

这怎么可能看起来我在某种封锁背后,这使得无法建立到密钥服务器的连接。我查看了许多 OP 问题并尝试了所有我能找到的命令,但没有任何效果。以前有人遇到过这个问题吗?

tut*_*tak 144

这通常是由于您的防火墙阻塞了端口造成的11371。您可以取消阻止防火墙中的端口。如果您无权访问防火墙,您可以:

强制它使用端口80而不是11371

    gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59
Run Code Online (Sandbox Code Playgroud)

或者

  • 从密钥服务器中查找并打开密钥。
  • 将其内容复制到文本文件中。
  • 转到系统工具 > 首选项 > 软件源 > 身份验证 > 添加密钥,然后选择创建的文本文件。Ubuntu 14.04 及更高版本尝试:软件中心 -> 编辑 -> 软件源 -> 身份验证 -> 导入密钥文件

  • “从密钥服务器中找到并打开密钥。” 没有人提到这是如何完成的。就我而言,有问题的密钥在 gpg.mit.edu 上。好的,很简单,只需转到 http://pgp.mit.edu 并将密钥粘贴到“搜索字符串”字段中即可!错误的。您必须知道神奇的秘密:在密钥前加上“0x”。如果key是`0F571F6C`,你必须搜索`0x0F571F6C`,这并不明显。 (7认同)
  • `gpg --import key.txt` 如果您需要通过命令行导入仅供参考。 (5认同)
  • 为替代方式点赞!在 Ubuntu 14.04 及更高版本上,它是从“软件中心 -> 编辑 -> 软件源 -> 身份验证 -> 导入密钥文件”添加的 (2认同)

Vic*_*yev 23

sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys SOMEKEY

  • `sudo` 不是必需的,除此之外,这个答案对海报的问题没有任何增加...... (7认同)
  • 删除sudo,答案是正确的。 (6认同)
  • 一个小时前我正在研究这个,添加这条线为我解决了这个问题。不同之处在于我明确指定了端口 80。我还明确指定了协议。不需要 sudo 可能是对的,但我的回答确实提供了一些相关信息,你不觉得吗?哦,你的回答也是正确的。 (4认同)
  • 是否需要从公钥服务器接收密钥?我不这么认为... (4认同)
  • 添加此答案中所述的 hkp:// 对我有用。 (2认同)

小智 10

这对我有用:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys AKEYXXX
Run Code Online (Sandbox Code Playgroud)


小智 9

当我尝试GPG在代理后面添加密钥时遇到了同样的问题。我的问题的解决方案是在命令中添加--keyserver-options

sudo apt-key adv --keyserver-options http-proxy=http://USER:PASSWORD@PROXY_URL:PORT/ --keyserver keyserver.ubuntu.com --recv-keys GPG_KEY
Run Code Online (Sandbox Code Playgroud)