防火墙后面没有GPG密钥。

刚刚偶然发现了这个关闭的帖子: 在运行apt-get时出现GPG错误 我也遇到了同样的问题,Ubuntu 12.04在防火墙和代理后面。
我不认为这个问题是给定主题的重复。 所以我在这个帖子中重新打开这个问题。
我的输出:
root@musik-Aspire-7741:~# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-  keyring /tmp/tmp.tWVMhyIMYh --trustdb-name /etc/apt/trustdb.gpg --keyring     /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver     hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87
gpg: Key 58B98E87 of hkp Server keyserver.ubuntu.com request
?: keyserver.ubuntu.com: Connection refused
gpgkeys: HTTP fetch error 7: couldn't connect: Connection refused
gpg: No valid OpenPGP data found.
gpg: Total number processed: 0

结论:gpg在通过http与不兼容。

如果你需要通过代理访问,你需要告诉GPG使用代理。你设置了http_proxy吗?(echo $http_proxy - tumbleweed
3个回答

在代理后,环境变量http_proxy应该被设置。可以通过以下两种方式之一进行设置。

1.如果不存在,请在/etc/apt目录中创建apt.conf文件,并将以下行添加到其中。 Acquire::http::Proxy "http://user:password@server:port";
2.只需使用终端中的以下命令设置环境变量。
export http_proxy=http://user:password@server:port

最后一个小调整,在命令中添加-E选项以便使用环境变量,如下所示
sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87


2这个-E起了作用 - alexandre1985

如果你在使用代理服务器,那么你必须在Bash中设置http_proxy环境变量。最好的方法是使用sudo bash打开root shell。
完成后:
export http_proxy="http://xxx.yyy.zzz.www:abcd"

然后添加仓库。

我花了将近两天的时间来安装最新版本的MongoDB。但是我遇到了与下面显示的相同的问题:
$ apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.pvb8fwe4Rs --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d//nsa-keyring.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

终于,我在"ellore"分享的步骤帮助下成功安装了mongoDB。
  1. apt.conf 文件中添加了 http 和 https 代理。
  2. 使用 export httphttps 命令添加了环境变量。
  3. 在命令行中添加了 "-E":

     sudo -E apt-key adv --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

我已经成功安装了MongoDB 3.0.7,如下所示,
$ mongo --version
MongoDB shell version: 3.0.7