Nenhuma chave gpg por trás de um firewall


13

Apenas tropeçou neste tópico fechado aqui: Erro GPG ao executar o apt-get

Mesmo problema aqui, o Ubuntu 12.04 atrás de um firewall e proxy.

Eu não acho que esse assunto seja duplicado do tópico em questão. Então, eu reabrir este assunto nesta discussão.

Minha saída:

root@musik-Aspire-7741:~# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-  keyring /tmp/tmp.tWVMhyIMYh --trustdb-name /etc/apt/trustdb.gpg --keyring     /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver     hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87
gpg: Key 58B98E87 of hkp Server keyserver.ubuntu.com request
?: keyserver.ubuntu.com: Connection refused
gpgkeys: HTTP fetch error 7: couldn't connect: Connection refused
gpg: No valid OpenPGP data found.
gpg: Total number processed: 0

Conclusão: o gpg não está funcionando hkp://keyserver.ubuntu.com:80via http.


Se você precisar passar por um proxy, precisará informar o GPG para usá-lo. Você http_proxydefiniu? ( echo $http_proxy)
tumbleweed

Respostas:


9

Atrás do proxy, a variável de ambiente http_proxydeve ser definida. Isso pode ser feito de uma das duas maneiras.

1.Crie um apt.confarquivo no diretório / etc / apt, se não estiver presente, e adicione a seguinte linha. Acquire::http::Proxy "http://user:password@server:port";
2. Simplesmente defina a variável de ambiente usando o seguinte comando do terminal.
export http_proxy=http://user:password@server:port

Finalmente, um pequeno ajuste, adicione a opção -E ao comando para que as variáveis ​​de ambiente sejam usadas da seguinte maneira
sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87


2
o -E fez o truque #
alexandre1985

3

Se você estiver atrás de um proxy, deverá definir a http_proxyvariável de ambiente no Bash. A melhor maneira de fazer isso é abrir o shell raiz com sudo bash.

Depois disto:

export http_proxy="http://xxx.yyy.zzz.www:abcd"

Em seguida, adicione o repositório.


1

Passei quase dois dias para instalar a versão mais recente do MongoDB. Mas eu estava enfrentando o mesmo problema, como mostrado abaixo:

$ apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.pvb8fwe4Rs --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d//nsa-keyring.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

Por fim, instalei o mongoDB com a ajuda de etapas compartilhadas por "ellore".

  1. Adicionado proxy http e https no apt.confarquivo.
  2. Adicionadas as variáveis ​​env usando export httpe httpscomando.
  3. Adicionado "-E" na linha de comando:

     sudo -E apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
    

Então eu recebi a resposta abaixo:

gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: key 7F0CEB10: "Richard Kreuter <richard@10gen.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

E eu instalei com sucesso o MongoDB 3.0.7 como mostrado abaixo,

$ mongo --version
MongoDB shell version: 3.0.7
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.