Jak zainstalować klucze gpg zza zapory ogniowej?


13

Rozumiem, że serwery kluczy używają portu 11371, ale w wielu przypadkach nie można połączyć się z tym portem i nie można dodać

W wielu przypadkach nie można zmodyfikować konfiguracji zapory.

Przykładowe polecenie, które nie działa

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

Jak rozwiązać ten problem?

Odpowiedzi:


15

Niektóre kluczowe serwery odpowiadają również na port 80:

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

A ponieważ hkp opiera się na http, powinieneś być w stanie używać go również przez web proxy.


2
Ubuntu rozwiązało ten problem, a teraz serwer odpowiada również na porcie 80.
sorin

3
wwwkeys.de.pgp.net:80już nie działa.
BuZZ-dEE

1
hkp: //p80.pool.sks-keyservers.net: 80 działa.
irritable_phd_syndrom

takżehkp://keys.gnupg.net:80
Trevor Boyd Smith

11

Coś jak

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

Decydująca jest część http-proxy=$http_proxy, którą można zastąpić http-proxy=http://corporate.proxy.test:8765na przykład.


2
Ważne jest, aby pamiętać, że kolejność flag jest tutaj ważna. Jeśli wstawisz --recv-keyswcześniej --keyserver-options, pojawi się błąd, który wygląda następująco: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
Mani

1
Strona podręcznika stwierdza, że ​​opcje keyserver mogą być rozdzielane przecinkami lub spacjami, ale uważam, że przecinek jest konieczny podczas ograniczania spacji, co powoduje błąd użycia gpg. wersja gpg 2.0.22. Jak:--keyserver-options "timeout=10,http-proxy=${http_proxy}"
Ed Randall

2

Spróbuj tego

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
Witaj w Server Fault! Chociaż teoretycznie może to odpowiedzieć na pytanie, podaj kontekst wokół poleceń, aby inni mieli pojęcie, co powinien zrobić i dlaczego jest to rozwiązanie. - Korzystanie z serwera proxy jest jednak często dobrym rozwiązaniem.
HBruijn,

1

Chciałem tylko dodać tutaj kilka notatek.

Strona podręcznika dla gpg zauważa, że --keyserver-options "http-proxy=foo"zastąpi http_proxyzmienną środowiskową, ale przynajmniej dla ...

gpg --version gpg (GnuPG) 2.1.15 libgcrypt 1.7.9

Nie odbiera http_proxyzmiennej środowiskowej (lub HTTP_PROXY), ale akceptuje --keyserver-optionsrozwiązanie.


Czy możesz podać link do tej strony? Podejrzewam, że przełącznik opcji zastępuje zmienną proxy, ale tylko dla tego jednego polecenia. Zmienna http_proxy pozostaje wówczas niezmieniona na starą. Jednak nie jest doskonale zaprogramowany, jeśli zmienne http_proxy i no_proxy są ignorowane.
uav

I tak nie rozumiem, dlaczego apt, Java i gpg potrzebują własnych definicji proxy. Moim zdaniem powinny używać domyślnych zmiennych środowiskowych! Istnieje sztuczka dla apt. Wystarczy utworzyć pusty plik /etc/apt/apt.conf. LOL, kto to wymyśla?
uav
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.