Comment installer des clés gpg derrière un pare-feu?

13

Je comprends que les serveurs de clés utilisent le port 11371 mais dans de nombreux cas, vous n'êtes pas autorisé à vous connecter à ce port et vous ne pouvez pas ajouter

Il existe de nombreux cas où vous ne pouvez pas modifier la configuration du pare-feu.

Exemple de commande qui échoue

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

Comment résolvez-vous ce problème?

Sorin
la source

Réponses:

15

Certains serveurs clés répondent également au port 80:

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

Et comme hkp s'appuie sur http, vous devriez également pouvoir l'utiliser via un proxy web.

b0fh
la source
2
Ubuntu résout ce problème et maintenant le serveur répond également sur le port 80.
sorin
3
wwwkeys.de.pgp.net:80ne fonctionne plus.
BuZZ-dEE
1
hkp: //p80.pool.sks-keyservers.net: 80 œuvres.
irritable_phd_syndrom
aussihkp://keys.gnupg.net:80
Trevor Boyd Smith
11

Quelque chose comme

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

La partie décisive est http-proxy=$http_proxy, qui peut être remplacée par http-proxy=http://corporate.proxy.test:8765exemple.

uav
la source
2
Il est important de noter que l'ordre des drapeaux est important ici. Si vous mettez --recv-keysavant --keyserver-options, vous obtiendrez une erreur qui ressemble à: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
La page de manuel indique que les options du serveur de clés peuvent être séparées par des virgules ou des espaces, mais j'ai trouvé la virgule nécessaire lors de la délimitation de l'espace, ce qui entraînait une erreur d'utilisation de gpg. gpg version 2.0.22. Comme:--keyserver-options "timeout=10,http-proxy=${http_proxy}"
Ed Randall
2

essaye ça

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
la source
1
Bienvenue dans Server Fault! Bien que cela puisse théoriquement répondre à la question, veuillez fournir un contexte autour des commandes afin que les autres aient une idée de ce qu'il est censé faire et pourquoi c'est une solution. - Cependant, l'utilisation d'un proxy est souvent une bonne solution.
HBruijn
1

Je voulais juste ajouter quelques notes ici.

La page de manuel pour gpg note que le --keyserver-options "http-proxy=foo"remplacera la http_proxyvariable d'environnement, mais au moins pour ...

gpg --version gpg (GnuPG) 2.1.15 libgcrypt 1.7.9

Il ne parvient pas à récupérer la http_proxyvariable d'environnement (ou HTTP_PROXY) mais accepte la --keyserver-optionssolution.

Mani
la source
Pouvez-vous fournir un lien vers ce site? Je soupçonne que le commutateur d'options écrase la variable proxy, mais uniquement pour cette seule commande. La variable http_proxy est alors inchangée à l'ancienne. Cependant, il n'est pas parfaitement programmé si les variables http_proxy et no_proxy sont ignorées.
uav
Je ne comprends pas pourquoi apt, Java et gpg ont quand même besoin de leurs propres définitions de proxy. Ils devraient, à mon avis, utiliser les variables d'environnement par défaut! Il y a une astuce pour apt. Créez simplement un /etc/apt/apt.conf vide. LOL, qui invente ça?
uav