Как установить ключи gpg из-за брандмауэра?


13

Я понимаю, что серверы ключей используют порт 11371, но во многих случаях вам не разрешено подключаться к этому порту, и вы не можете добавить

Есть много случаев, когда вы не можете изменить конфигурацию брандмауэра.

Пример команды, которая не работает

 gpg --keyserver keyserver.ubuntu.com --recv-keys 0A5174AF

Как вы решаете эту проблему?

Ответы:


15

Некоторые ключевые серверы также отвечают на порт 80:

gpg --keyserver hkp://wwwkeys.de.pgp.net:80 --recv-keys 0A5174AF

А поскольку hkp использует http, вы также сможете использовать его через веб-прокси.


2
Ubuntu решает эту проблему, и теперь сервер также отвечает на порт 80.
sorin

3
wwwkeys.de.pgp.net:80больше не работает.
BuZZ-DEE,

1
hkp: //p80.pool.sks-keyservers.net: 80 работ.
angryable_phd_syndrom

такжеhkp://keys.gnupg.net:80
Тревор Бойд Смит

11

Что-то вроде

gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 \
    --keyserver-options "timeout=10 http-proxy=$http_proxy" \
    --recv-keys B0F4253373F8F6F510D42178520A9993A1C052F8

Решающая часть http-proxy=$http_proxy, которая может быть заменена, http-proxy=http://corporate.proxy.test:8765например.


2
Важно отметить, что здесь важен порядок флагов. Если вы поставите --recv-keysраньше --keyserver-options, вы получите ошибку, которая выглядит следующим образом:gpg: Note: '--keyserver-options' is not considered an option gpg: "--keyserver-options" not a key ID: skipping gpg: "timeout=10 http-proxy=http://fooproxy:8080" not a key ID: skipping
Мани

1
На странице руководства указано, что опции сервера ключей могут быть разделены запятой или пробелом, но я нашел необходимую запятую при разделении пробела, что привело к ошибке использования gpg. gpg версия 2.0.22. Как:--keyserver-options "timeout=10,http-proxy=${http_proxy}"
Эд Рэндалл

2

попробуй это

sudo apt-key adv --keyserver-options http-proxy="http://<username>:<password>@<proxy_server_addr>:<proxy_port>" --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys <key_to_import>

1
Добро пожаловать в сбой сервера! Хотя это теоретически может дать ответ на вопрос, пожалуйста, предоставьте контекст вокруг команд, чтобы другие имели некоторое представление о том, что они должны делать и почему это решение. - Использование прокси часто является хорошим решением.
HBruijn

1

Просто хотел добавить несколько заметок здесь.

Страница руководства для gpg отмечает, что --keyserver-options "http-proxy=foo"переопределит http_proxyпеременную окружения, но по крайней мере для ...

gpg --version gpg (GnuPG) 2.1.15 libgcrypt 1.7.9

Он не может подобрать http_proxyпеременную среды (или HTTP_PROXY), но принимает --keyserver-optionsрешение.


Можете ли вы предоставить ссылку на этот сайт? Я подозреваю, что переключатель параметров перезаписывает переменную прокси, но только для этой одной команды. Переменная http_proxy затем не меняется на старую. Однако он не запрограммирован идеально, если переменные http_proxy и no_proxy игнорируются.
Л

Я не понимаю, почему apt, Java и gpg так или иначе нужны собственные определения прокси. Они должны, на мой взгляд, использовать переменные среды по умолчанию! Есть хитрость для apt. Просто создайте пустой /etc/apt/apt.conf. LOL, кто это делает?
Л
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.