Нет ключа gpg из-за брандмауэра


13

Просто наткнулся на эту закрытую тему здесь: Ошибка GPG при запуске apt-get

Та же проблема здесь, 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)
камышовое растение

Ответы:


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

Наконец-то я установил mongoDB с помощью шагов, разделенных «ellore».

  1. Добавлен http и https прокси в apt.confфайле.
  2. Добавлены переменные env с помощью export httpи httpsкоманды.
  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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.