当前位置: 首页>>技术教程>>正文


linux – sudo apt-key adv –keyserver keyserver.ubuntu.com –recv 7F0CEB10命令返回错误

, , ,

问题描述

我正在尝试在Ubuntu 12上安装Mongodb,但是当我运行以下命令时:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10这返回以下错误:

keyserver.ubuntu.com host not found
gpgkeys: HTTP fetch error 7: couldn’t connect: no such file or directory
gpg:no valid openPGP data found
gpg: Total number processes :0

我关闭了Iptables上的防火墙,但是它不起作用。有什么主意吗

最佳回答

查找密钥服务器实际上可能不是问题,这就是错误提示。 apt-key命令调用gpg,后者随后尝试访问密钥服务器。显然,gpg中存在一个错误,如果密钥服务器没有您所请求的密钥,则gpg会将其误解为“找不到主机”。

无响应的密钥服务器很可能会做同样的事情,而且我已经看到密钥服务器被阻止的环境(企业防火墙规则),因此如果存在没有访问权限的上游防火墙,这可能是您的根本原因至。

仅供参考,密钥在那里,密钥服务器当前正在为我响应:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.rh1myoBdSE --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: key 7F0CEB10: "Richard Kreuter <richard@10gen.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

可能是端口问题(这是我最后一次遇到公司防火墙问题),所以请尝试在标准HTTP端口(80)上执行此操作,看看是否可以解决问题:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

次佳回答

我的机器位于企业代理服务器后,因此遇到了同样的问题。添加gpg --keyserver-option http-proxy可以解决问题。好像:

sudo apt-key adv --keyserver-options http-proxy=<myProxy> --keyserver keyserver.ubuntu.com --recv 7F0CEB10

第三种回答

如果您使用的是代理服务器(例如公司的代理服务器),那么唯一的方法可能是手动输入,这很简单。跑:

sudo apt-get update

并获取pub_key的ID。然后转到http://keyserver.ubuntu.com/并以十六进制形式搜索密钥,例如,如果密钥为7936A783B,则搜索0x7936A783B。单击pup链接,然后复制密钥内容并将其保存到txt文件中。转到终端并导航到文件并运行:

sudo apt-key add key.txt

如果可行,您将获得简单的OK反馈。添加所有密钥后,可以运行:

sudo apt-get update

就在那里!

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11680.html,未经允许,请勿转载。