Como contornar a porta hkp de saída bloqueada para chaves apt

34

Estou usando o Ubuntu 9.10 e preciso adicionar alguns repositórios apt. Infelizmente, recebo mensagens assim ao executar sudo apt-get update :

W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1DABDBB4CEC06767

Então, eu preciso instalar as chaves para esses repositórios. Em 9.10, agora temos a opção de fazer isso:

sudo add-apt-repository ppa:nvidia-vdpau/ppa

Veja este artigo de ajuda do Ubuntu para detalhes.

Isso é ótimo, exceto que estou executando isso em uma estação de trabalho atrás de um firewall que bloqueia conexões de saída para praticamente todas as portas, exceto aquelas exigidas por secretárias que executam o Windows e o IE.

A porta em questão aqui é o serviço hkp, porta 11371.

Parece haver maneiras de baixar manualmente as chaves e instalá-las no chaveiro do apt. Pode até haver uma maneira de usar add-apt-repository ou wget ou algo para baixar uma chave de um servidor alternativo, disponibilizando-a na porta 80.

No entanto, ainda não encontrei um conjunto conciso de etapas para isso. O que estou procurando é:

  1. Como encontrar uma chave pública para um pacote apt (recomendações para recursos que contenham estes e / ou dicas para pesquisa. A pesquisa pelo hash chave não parece tão eficaz até agora.)
  2. Como recuperar uma chave (pode ser feito automaticamente usando gpg ou add-apt-repository?)
  3. Como adicionar uma chave ao chaveiro do apt

Obrigado antecipadamente.

    
por Kief 03.11.2009 / 11:35

9 respostas

38

Isso foi corrigido na próxima versão do Ubuntu do Natty: link

Aqueles que usam uma versão mais antiga precisam editar ppa.py:

sudo gedit /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py

Onde diz:

keyserver.ubuntu.com

mude para:

hkp://keyserver.ubuntu.com:80

Salve, saia e espere que seja bom.

    
por 14.12.2010 / 21:58
18
sudo apt-key adv --keyserver keyserver.ubuntu.com --keyserver-options http-proxy=http://proxy:port --recv-keys KEYID
    
por 19.08.2010 / 02:48
13

Aqui está uma solução que usei:

Eu entrei em um servidor linux no mundo livre além do nosso firewall corporativo, e fiz isso:

gpg --keyserver keyserver.ubuntu.com --recv 1DABDBB4CEC06767 && gpg --export --armor 1DABDBB4CEC06767

Em seguida, na estação de trabalho, corri isso e colei a saída do comando acima (a chave pública) no stdin, seguido por control-D:

sudo apt-key add -

Então, consegui executar sudo apt-get update sem problemas.

Eu ainda acho que tem que haver uma maneira melhor, idealmente algo que eu possa escrever.

    
por 03.11.2009 / 11:44
8

Eu tenho outra solução aqui que pode ser útil se você não puder encontrar outro servidor Linux fora de sua rede como proxy. Basta enviar um email para "[email protected]" como assunto como "get 0x1DABDBB4CEC06767". Mas você provavelmente ainda não pode escrever um script simples para automatizar isso.

    
por 10.01.2010 / 12:05
5

Você pode acessar o site do servidor de chaves, por exemplo link Procure a assinatura de chave (você precisa adicionar 0x à assinatura hexadecimal), ou seja, 0x1DABDBB4CEC06767.

Clique no link que você deseja obter e cole o texto em um arquivo na máquina, por exemplo

cat > <filename>

[PASTE]

[Ctrl-C]

Então

apt-key add <filename>

Isso funcionou bem para mim; parece que meu proxy de trabalho bloqueia muitas portas "não padrão".

    
por 06.04.2010 / 12:48
4

Eu encontrei uma maneira legal de fazer isso em um único comando através da porta 80, que está sempre aberta para o tráfego www.

link

    
por 30.10.2010 / 02:45
1

Eu simplesmente uso o ssh para encaminhar a porta para um host externo e depois executar o comando apt-add-repo .

ssh -fqTnN -D 11371 <user@host>
    
por 20.05.2011 / 09:03
0

Uma solução simples é:

sudo add-apt-repository --keyserver hkps://keyserver.ubuntu.com:443 some_ppa

O https seguro (443 de saída) não seria bloqueado pelo firewall.

    
por 14.10.2018 / 06:54
-1

Eu tive o mesmo problema com o gpg. A solução alternativa para adicionar a porta ao nome do servidor funcionou editando meu arquivo ~/.gnupg/gpg.conf . No entanto, eu ainda vou pedir ao nosso administrador de sistemas para abrir a porta de saída 11371, então eu não tenho que me preocupar com isso novamente.

    
por 20.07.2011 / 20:46