Wie installiere ich GPG-Schlüssel hinter einer Firewall?

13

Ich verstehe, dass Keyserver den Port 11371 verwenden, aber in vielen Fällen dürfen Sie keine Verbindung zu diesem Port herstellen und können keine hinzufügen

In vielen Fällen können Sie die Firewall-Konfiguration nicht ändern.

Beispielbefehl, der fehlschlägt

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

Wie lösen Sie dieses Problem?

Sorin
quelle

Antworten:

15

Einige Schlüsselserver antworten auch auf Port 80:

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

Und da hkp auf http basiert, sollten Sie es auch über einen Web-Proxy verwenden können.

b0fh
quelle
2
Ubuntu löst dieses Problem und jetzt antwortet der Server auch auf Port 80.
Sorin
3
wwwkeys.de.pgp.net:80funktioniert nicht mehr.
BuZZ-dEE
1
hkp: //p80.pool.sks-keyservers.net: 80 funktioniert.
irritable_phd_syndrom
auchhkp://keys.gnupg.net:80
Trevor Boyd Smith
11

Etwas wie

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

Der entscheidende Teil ist http-proxy=$http_proxy, der http-proxy=http://corporate.proxy.test:8765zum Beispiel durch ersetzt werden kann.

uav
quelle
2
Es ist wichtig zu beachten, dass die Reihenfolge der Flags hier wichtig ist. Wenn Sie --recv-keysvorher setzen --keyserver-options, erhalten Sie einen Fehler, der aussieht wie: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
Die Handbuchseite gibt an, dass Keyserver-Optionen durch Kommas oder Leerzeichen getrennt sein können, aber ich fand das Komma während der Leerzeichenbegrenzung erforderlich, was zu einem GPG-Verwendungsfehler führte. gpg version 2.0.22. Wie:--keyserver-options "timeout=10,http-proxy=${http_proxy}"
Ed Randall
2

Versuche dies

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>
Jude Job
quelle
1
Willkommen bei Server Fault! Während dies theoretisch die Frage beantworten kann, geben Sie bitte den Kontext für Befehle an, damit andere eine Vorstellung davon haben, was es tun soll und warum es eine Lösung ist. - Die Verwendung eines Proxys ist jedoch häufig eine gute Lösung.
HBruijn
1

Ich wollte hier nur ein paar Notizen hinzufügen.

Die Handbuchseite für gpg stellt fest, dass die Umgebungsvariable --keyserver-options "http-proxy=foo"überschrieben http_proxywird, aber zumindest für ...

gpg --version gpg (GnuPG) 2.1.15 libgcrypt 1.7.9

Die http_proxyUmgebungsvariable (oder HTTP_PROXY) wird nicht erfasst, die --keyserver-optionsLösung wird jedoch akzeptiert .

Mani
quelle
Können Sie bitte einen Link zu dieser Seite bereitstellen? Ich vermute, dass der Optionsschalter die Proxy-Variable überschreibt, aber nur für diesen einen Befehl. Die Variable http_proxy bleibt dann unverändert zur alten. Es ist jedoch nicht perfekt programmiert, wenn die Variablen http_proxy und no_proxy ignoriert werden.
uav
Ich verstehe nicht, warum apt, Java und gpg sowieso ihre eigenen Proxy-Definitionen benötigen. Sie sollten meiner Meinung nach die Standardumgebungsvariablen verwenden! Es gibt einen Trick für apt. Erstellen Sie einfach eine leere /etc/apt/apt.conf. LOL, wer macht das nach?
Uav