тайм-аут сервера ключей при попытке добавить открытый ключ GPG


67

Я пытаюсь добавить открытый ключ для установки программы с 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

Как это возможно, кажется, что я за какой-то блокадой, которая делает невозможным установление соединения с сервером ключей. Я просмотрел много вопросов по OP и перепробовал все команды, которые смог найти, но ничего не получалось. У кого-нибудь была эта проблема раньше?


Вы пытались использовать другой сервер ключей? hkp: //subkeys.pgp.net или hkp: //pgp.mit.edu: 11371
Джейсонвриан

@jasonwryan Я пробовал pgp.mit.edu, но без hkp: // важно ли это? я не верю в это, но это стоит попробовать для меня
Сандер Ван дер Зеув

Используйте полный адрес и альтернативный порт ...
jasonwryan

@jasonwryan Я все еще получил?: pgp.mit.edu: Превышен тайм-аут соединения gpgkeys: Ошибка выборки HTTP 7: Не удалось установить соединение: Тайм-аут соединения gpg: не найдены действительные данные OpenPGP. gpg: Всего обработано: 0
Сандер Ван дер Зеув

3
gpg --keyserver hkp://pgp.mit.edu --recv-keys 94558F59работал на меня ...
Джейсонвриан

Ответы:


114

Обычно это вызвано тем, что брандмауэр блокирует порт 11371. Вы можете разблокировать порт в брандмауэре. Если у вас нет доступа к брандмауэру, вы можете:

  1. Заставьте его использовать порт 80вместо11371

    gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59
  2. альтернативно

    • Найдите и откройте ключ на сервере ключей.
    • Скопируйте его содержимое в текстовый файл.
    • Перейдите в Системный инструмент> Настройки> Источники программного обеспечения> Аутентификация> Добавить ключ и выберите созданный текстовый файл. Для Ubuntu 14.04 и более поздних версий попробуйте: Центр программного обеспечения -> Правка -> Источники программного обеспечения -> Аутентификация -> Импортировать файл ключа

5
gpg --import key.txtесли вам нужно импортировать через командную строку FYI.
Banjer

1
sks-keyservers.net/i для загрузки ключа к вашему сведению
Лакшми Нараянан

2
Упражнение для альтернативного пути! В Ubuntu 14.04 и более поздних версиях он добавлен изSoftware Center -> Edit -> Software Sources -> Authentication -> Import key file
Roy Ling

Это исправило мою проблему с установкой ключей для rvm. Для меня висел следующий вызов: запрос ключа D39DC0E3 с hkp server keys.gnupg.net
mdgrech

4
«Найдите и откройте ключ с сервера ключей». То, что никто не упоминает, как это сделано. В моем случае данный ключ находится на gpg.mit.edu. Ладно, просто, просто зайди в pgp.mit.edu и вставь ключ в Search Stringполе! Неправильно. Вы должны знать магический секрет: добавьте ключ с помощью 0x. Если ключ 0F571F6C, вы должны искать 0x0F571F6C, что ни в коем случае не очевидно.
Бен Джонсон

19

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


6
sudoне является необходимым, и, кроме этого, этот ответ ничего не добавляет к проблеме автора ...
jasonwryan

4
Я работал над этим всего час назад, и добавление этой строки решило проблему для меня. Есть разница, что я указываю порт 80 явно. Я также указываю протокол явно. Возможно, вы правы в том, что sudo не требуется, но мой ответ содержит немного важной информации, не правда ли? Да, и ваш ответ тоже правильный.
Виктор Piousbox

5
Удалите sudo, и ответ правильный.
Джейсонвриан

4
Необходимо получить ключи от публичного сервера ключей? Я так не думаю ...
Джейсонвриан

2
Добавление hkp: //, как отмечено в этом ответе, работает для меня.
barryhunter

9

Это сработало для меня:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys AKEYXXX

Я люблю тебя чувак !
Ясир

7

Я столкнулся с той же проблемой, когда пытался добавить 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

1

Попробуйте получить свой ключ с другого сервера (работал для меня):

gpg --keyserver hkp://keys.gnupg.net --recv-keys 94558F59

или же

gpg --keyserver hkp://pgp.mit.edu --recv-keys 94558F59

1

Я исправил свою проблему, выполнив следующую команду:

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys *somekey*


0

Я вижу это на одном из двух одинаковых блоков, на которых запущены ANSI-развертывания на образе Ubuntu 14.04. На самом деле, раньше это работало, app-infra-1но в какой-то момент оно начало терпеть неудачу. Тот факт, что он был успешно app-infra-2обновлен, свидетельствует о том, что app-infra-1это ошибка или ошибка в обнаружении и сообщении о них apt-key adv.

Я попытался удалить ключ, используя, apt-key delно я продолжаю получать ту же ошибку.

changed: [app-infra-2] => {"changed": true, "item": "", "repo": "ppa:webupd8team/java", "state": "present"}
failed: [app-infra-1] => {"cmd": "apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 7B2C3B0889BF5709A105D03AC2518248EEA14886", "failed": true, "item": "", "rc": 2}
stderr: gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.2zqQuFdBjg --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/puppetlabs-keyring.gpg --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 7B2C3B0889BF5709A105D03AC2518248EEA14886

msg: gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

В конце концов, поскольку это vm, я решил перестроить его vagrant.


0

Для меня было необходимо добавить операторы ENV в мой файл Docker. Например

ENV  http_proxy "http://[yourproxy]:[port]/"
ENV  https_proxy "http://[yourproxy]:[port]/"
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.