防火墙后面没有gpg密钥


13

刚在这里碰到了这个封闭的线程: 运行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无法hkp://keyserver.ubuntu.com:80通过http使用。


如果必须通过代理,则需要告知GPG使用代理。你有没有http_proxy设置?(echo $http_proxy
风滚草

Answers:


9

在代理后面,http_proxy应设置环境变量。这可以通过两种方式之一来完成。

1. apt.conf在/ etc / apt目录中创建文件(如果不存在),并在其中添加以下行。 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

3

如果您落后于代理,则必须http_proxy在Bash中设置环境变量。最好的方法是使用打开根外壳sudo bash

在这之后:

export http_proxy="http://xxx.yyy.zzz.www:abcd"

然后添加仓库。


1

我花了将近两天的时间来安装最新版本的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命令添加了env变量。
  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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.