¿Cómo instalar claves gpg desde detrás de un firewall?

13

Entiendo que los servidores de claves están utilizando el puerto 11371, pero en muchos casos no puede conectarse a este puerto y no puede agregar

Hay muchos casos en los que no puede modificar la configuración del firewall.

Comando de ejemplo que falla

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

¿Cómo resuelves este problema?

sorin
fuente

Respuestas:

15

Algunos servidores clave también responden al puerto 80:

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

Y como hkp se basa en http, también debería poder usarlo a través de un proxy web.

b0fh
fuente
2
Ubuntu resuelve este problema y ahora el servidor también responde en el puerto 80.
sorin
3
wwwkeys.de.pgp.net:80ya no funciona
BuZZ-dEE
1
hkp: //p80.pool.sks-keyservers.net: 80 obras.
irritable_phd_syndrom
tambiénhkp://keys.gnupg.net:80
Trevor Boyd Smith
11

Algo como

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

La parte decisiva es http-proxy=$http_proxy, que se puede reemplazar con, http-proxy=http://corporate.proxy.test:8765por ejemplo.

uav
fuente
2
Es importante tener en cuenta que el orden de las banderas es importante aquí. Si pones --recv-keysantes --keyserver-options, obtendrás un error similar al siguiente: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 página del manual indica que las opciones del servidor de claves pueden estar delimitadas por comas o espacios, pero encontré la coma necesaria mientras que la delimitación de espacios resulta en un error de uso de gpg. gpg versión 2.0.22. Como:--keyserver-options "timeout=10,http-proxy=${http_proxy}"
Ed Randall,
2

prueba esto

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
fuente
1
¡Bienvenido a Server Fault! Si bien esto puede responder teóricamente a la pregunta, proporcione contexto en torno a los comandos para que otros tengan una idea de lo que se supone que debe hacer y por qué es una solución. - Sin embargo, el uso de un proxy suele ser una buena solución.
HBruijn
1

Solo quería agregar algunas notas aquí.

La página del manual para gpg señala que --keyserver-options "http-proxy=foo"anulará la http_proxyvariable de entorno, pero al menos para ...

gpg --version gpg (GnuPG) 2.1.15 libgcrypt 1.7.9

No puede recoger la http_proxyvariable de entorno (o HTTP_PROXY) pero acepta la --keyserver-optionssolución.

Mani
fuente
¿Pueden proporcionar un enlace a este sitio? Sospecho que el interruptor de opciones sobrescribe la variable proxy, pero solo para este comando. La variable http_proxy no cambia a la anterior. Sin embargo, no está perfectamente programado si se ignoran las variables http_proxy y no_proxy.
uav
No entiendo por qué apt, Java y gpg necesitan sus propias definiciones de proxy de todos modos. ¡Deberían, en mi opinión, usar las variables de entorno predeterminadas! Hay un truco para apt. Simplemente cree un /etc/apt/apt.conf vacío. LOL, ¿quién inventa esto?
uav