Como instalar chaves gpg atrás de um firewall?

13

Entendo que os servidores de chaves estão usando a porta 11371, mas em muitos casos você não tem permissão para se conectar a essa porta e não pode adicionar

Existem muitos casos em que você não pode modificar a configuração do firewall.

Exemplo de comando que falha

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

Como você resolve esse problema?

sorin
fonte

Respostas:

15

Alguns servidores principais também respondem à porta 80:

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

E como o hkp depende do http, você também pode usá-lo através de um proxy da web.

b0fh
fonte
2
O Ubuntu resolve esse problema e agora o servidor também responde na porta 80.
sorin
3
wwwkeys.de.pgp.net:80não funciona mais.
BuZZ-dEE 23/02
1
hkp: //p80.pool.sks-keyservers.net: 80 funciona.
irritable_phd_syndrom
tambémhkp://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

A parte decisiva é http-proxy=$http_proxy, que pode ser substituída por, http-proxy=http://corporate.proxy.test:8765por exemplo.

uav
fonte
2
Importante notar que a ordem das bandeiras é importante aqui. Se você colocar --recv-keysantes --keyserver-options, você receberá um erro parecido com: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
A página de manual indica que as opções do servidor de chaves podem ser delimitadas por vírgula ou espaço, mas eu achei a vírgula necessária enquanto delimitava o espaço, resultando em um erro de uso de gpg. gpg versão 2.0.22. Como:--keyserver-options "timeout=10,http-proxy=${http_proxy}"
Ed Randall
2

tente isso

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
fonte
1
Bem-vindo à falha do servidor! Embora isso possa teoricamente responder à pergunta, forneça um contexto em torno dos comandos para que outras pessoas tenham alguma idéia do que deve fazer e por que é uma solução. - Usar um proxy geralmente é uma boa solução.
Hbruijn 15/10/2015
1

Só queria adicionar algumas notas aqui.

A página de manual do gpg observa que o --keyserver-options "http-proxy=foo"comando substituirá a http_proxyvariável de ambiente, mas pelo menos para ...

gpg --version gpg (GnuPG) 2.1.15 libgcrypt 1.7.9

Ele falha ao pegar a http_proxyvariável de ambiente (ou HTTP_PROXY), mas aceita a --keyserver-optionssolução.

Mani
fonte
Você pode fornecer um link para este site? Suspeito que as opções alternem substituem a variável proxy, mas apenas para este comando. A variável http_proxy fica inalterada em relação à antiga. No entanto, não está perfeitamente programado se as variáveis ​​http_proxy e no_proxy forem ignoradas.
UAV
Eu não entendo por que o apt, Java e gpg precisam de suas próprias definições de proxy. Eles devem, na minha opinião, usar as variáveis ​​de ambiente padrão! Existe um truque para o apt. Apenas crie um /etc/apt/apt.conf vazio. LOL, quem faz isso?
UAV