Как обойти заблокированный исходящий порт hkp для ключей apt
41281
Kief
Я использую Ubuntu 9.10, и мне нужно добавить несколько репозиториев apt. К сожалению, я получаю такие сообщения при запуске sudo apt-get update:
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5 W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1DABDBB4CEC06767
Итак, мне нужно установить ключи для этих репозиториев. Под 9.10 у нас теперь есть возможность сделать это:
Это здорово, за исключением того, что я запускаю это на рабочей станции за брандмауэром, который блокирует исходящие соединения практически со всеми портами, кроме тех, которые требуются секретарям под управлением Windows и IE.
Здесь речь идет о службе hkp, порт 11371.
Похоже, есть способы вручную загрузить ключи и установить их на связку ключей apt. Может даже быть способ использовать add-apt-repository или wget или что-то еще, чтобы загрузить ключ с альтернативного сервера, сделав его доступным через порт 80.
Тем не менее, я еще не нашел краткий набор шагов для этого. То, что я ищу, это:
Как найти открытый ключ для apt-пакета (рекомендации по ресурсам, у которых они есть, и / или советы по поиску. Поиск ключевого хеша пока не кажется таким уж эффективным).
Как получить ключ (это можно сделать автоматически с помощью gpg или add-apt-repository?)
Круто - решил мою проблему!
Fedearne 13 лет назад
1
В 10.10 вместо редактирования этого исходного файла я мог просто вызвать `sudo apt-key adv --keyserver hkp: //keyserver.ubuntu.com: 80 --recv-keys KEY_HASH`
l0b0 12 лет назад
12
`hkp: //keyserver.ubuntu.com: 80` работает и 10.04.
bd808 12 лет назад
0
+1 за использование `--keyserver hkp: //keyserver.ubuntu.com: 80`
rogeriolino 9 лет назад
1
Затем на своей рабочей станции я запустил это и вставил вывод из вышеприведенной команды (открытый ключ) в стандартный ввод, а затем control-D:
sudo apt-key add -
Тогда я смог бежать sudo apt-get updateбез проблем.
Я все еще думаю, что должен быть лучший способ, в идеале что-то, что я мог бы написать.
* «Я вошел в систему на сервере Linux в свободном мире» * Маловероятно, что кто-то сможет сделать это в случае, если даже hkp заблокирован.
gertvdijk 11 лет назад
0
Возможно, если вы живете в репрессивном режиме, а не в каком-то византийском отделе информационных технологий. Я могу использовать SSH где угодно, когда нахожусь на VPN, но нет пакетов DNS (и, очевидно, нет HKP). Это как раз то, что мне нужно.
Kingdon 7 лет назад
0
8
Roger Choi
У меня есть другой обходной путь, который может быть полезен, если вы не можете найти другой сервер Linux вне вашей сети в качестве прокси. Просто отправьте электронное письмо по адресу "pgp-public-keys@pgp.mit.edu" как "get 0x1DABDBB4CEC06767". Но вы, вероятно, все еще не можете написать простой скрипт для автоматизации этого.
5
CJBrew
Вы можете перейти на веб-сайт сервера ключей, например, http://wwwkeys.eu.pgp.net/ Поиск ключевой подписи (необходимо добавить 0x к шестнадцатеричной подписи), то есть 0x1DABDBB4CEC06767.
Нажмите на ссылку, которую вы надеетесь получить, и вставьте текст в файл на компьютере, т.е.
cat > <filename> [PASTE] [Ctrl-C]
затем
apt-key add <filename>
Это работало хорошо для меня; похоже мой рабочий прокси блокирует много "нестандартных" портов.
Это единственный способ, который работал для меня. Мой прокси сильно блокирует протокол hkp, и даже если я использую порт 80, gpg по-прежнему перерывает связь с сервером. Таким образом, я наконец смог добавить ключ.
Alexander Amelkin 8 лет назад
0
4
tony
Я нашел удобный способ сделать это с помощью одной команды через порт 80, который всегда открыт для трафика www.
apt-key adv --keyserver hkp: //keyserver.ubuntu.com: 80 --recv-keys ...
vorburger 10 лет назад
2
Привет и добро пожаловать в суперпользователя. При ответе на вопросы, пожалуйста, ответьте на вопрос с решением в самом ответе. Нет никакой гарантии, что сайт, на который вы ссылались, будет поддерживать его в рабочем состоянии, и если он выйдет из строя, то ваш ответ будет бесполезным.
Mogget 9 лет назад
1
1
Thermionix
I simply use ssh to forward the port to an external host then run the apt-add-repo command.
Защищенный https (исходящий 443) не будет заблокирован брандмауэром.
-1
Patrick Salami
У меня была такая же проблема с gpg. Обходной путь с добавлением порта к имени сервера работал путем редактирования моего ~/.gnupg/gpg.confфайла. Тем не менее, я все еще собираюсь попросить нашего системного администратора открыть исходящий порт 11371, так что мне не нужно беспокоиться об этом снова.
_Порт? Как указание порта (11371) в конфигурации работает вокруг брандмауэра?
0xC0000022L 8 лет назад
0