timeout del keyserver durante il tentativo di aggiungere una chiave pubblica GPG


67

Sto cercando di aggiungere una chiave pubblica per l'installazione di un programma con CPG. Ma sono abbastanza nuovo per questo, ma ogni comando che ho trovato mi ha dato lo stesso errore:

gpg --keyserver keyserver.ubuntu.com --recv-keys 94558F59
gpg: requesting key 94558F59 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

Com'è possibile, sembra che io sia dietro una sorta di blocco che rende impossibile stabilire una connessione al server delle chiavi. Ho esaminato molte domande OP e ho provato tutti i comandi che ho trovato, ma non ha funzionato. Qualcuno ha avuto questo problema prima?


Hai provato a usare un altro keyserver? hkp: //subkeys.pgp.net o hkp: //pgp.mit.edu: 11371
jasonwryan,

@jasonwryan Ive ha provato il pgp.mit.edu ma senza hkp: // è l'uso di questo importante? non ci credo, ma vale la pena provare per me
Sander Van der Zeeuw,

Usa l'indirizzo completo e la porta alternativa ...
Jasonwryan,

@jasonwryan Ho ancora ottenuto? gpg: numero totale elaborato: 0
Sander Van der Zeeuw,

3
gpg --keyserver hkp://pgp.mit.edu --recv-keys 94558F59ha funzionato per me ...
Jasonwryan,

Risposte:


114

Questo di solito è causato dal firewall che blocca la porta 11371. È possibile sbloccare la porta nel firewall. Nel caso in cui non si abbia accesso al firewall, è possibile:

  1. Forzalo a usare la porta 80invece di11371

    gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59
  2. In alternativa

    • Trova e apri la chiave dal server delle chiavi.
    • Copia il suo contenuto in un file di testo.
    • Vai a Strumento di sistema> Preferenze> Origini software> Autenticazione> Aggiungi chiave e seleziona il file di testo creato. Per Ubuntu 14.04 e versioni successive provare: Software Center -> Modifica -> Sorgenti software -> Autenticazione -> Importa file chiave

5
gpg --import key.txtse è necessario importare tramite la riga di comando FYI.
Banjer,

1
sks-keyservers.net/i per scaricare la chiave FYI
Lakshmi Narayanan

2
voto per modo alternativo! Su Ubuntu 14.04 e versioni successive, viene aggiunto daSoftware Center -> Edit -> Software Sources -> Authentication -> Import key file
Roy Ling il

Questo risolto il mio problema con l'installazione delle chiavi per rvm. La mia chiamata era sospesa per me: richiedere la chiave D39DC0E3 dal server hkp keys.gnupg.net
mdgrech

4
"Trova e apri la chiave dal key server." Ciò che nessuno menziona è come è stato fatto. Nel mio caso, la chiave in questione è su gpg.mit.edu. Va bene, vai su pgp.mit.edu e incolla la chiave nel Search Stringcampo! Sbagliato. Devi conoscere il segreto magico: anteporre la chiave con 0x. Se la chiave è 0F571F6C, è necessario cercare 0x0F571F6C, il che non è affatto ovvio.
Ben Johnson,

19

sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys SOMEKEY


6
sudonon è necessario e, a parte questo, questa risposta non aggiunge nulla al problema del poster ...
jasonwryan,

4
Ci stavo lavorando solo un'ora fa e l'aggiunta di questa riga ha risolto il problema per me. C'è la differenza che specifico esplicitamente sulla porta 80. Specifico anche il protocollo esplicitamente. Potresti aver ragione sul fatto che sudo non è necessario, ma la mia risposta contiene alcune informazioni pertinenti, non credi? Oh, anche la tua risposta è corretta.
Victor Piousbox,

5
Rimuovi il sudo e la risposta è corretta.
Jasonwryan,

4
È necessario ricevere le chiavi da un server di chiavi pubblico? Non credo ...
Jasonwryan,

2
L'aggiunta di hkp: // come indicato in questa risposta funziona per me.
Barryhunter,

9

Questo ha funzionato per me:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys AKEYXXX

Ti amo uomo !
Yasser Sinjab,

7

Ho riscontrato lo stesso problema durante il tentativo di aggiungere una GPGchiave dietro un proxy. La soluzione al mio problema era aggiungere --keyserver-optionsil comando :

sudo apt-key adv --keyserver-options http-proxy=http://USER:PASSWORD@PROXY_URL:PORT/ --keyserver keyserver.ubuntu.com --recv-keys GPG_KEY

1

Prova a ottenere la chiave da un altro server (ha funzionato per me):

gpg --keyserver hkp://keys.gnupg.net --recv-keys 94558F59

o

gpg --keyserver hkp://pgp.mit.edu --recv-keys 94558F59

1

Ho risolto il mio problema eseguendo il comando seguente:

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys *somekey*


0

Lo vedo su una delle due caselle identiche che eseguono distribuzioni di risposta su un'immagine Ubuntu 14.04. In effetti, in precedenza aveva funzionato, app-infra-1ma a un certo punto ha iniziato a fallire. Il fatto che sia riuscito a app-infra-2ricreare di recente suggerisce che si tratta di una corruzione app-infra-1o di un bug nel rilevamento e nella segnalazione apt-key adv.

Ho provato a eliminare la chiave utilizzando apt-key delma continuo a ricevere lo stesso errore.

changed: [app-infra-2] => {"changed": true, "item": "", "repo": "ppa:webupd8team/java", "state": "present"}
failed: [app-infra-1] => {"cmd": "apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 7B2C3B0889BF5709A105D03AC2518248EEA14886", "failed": true, "item": "", "rc": 2}
stderr: gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

stdout: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.2zqQuFdBjg --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/puppetlabs-keyring.gpg --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 7B2C3B0889BF5709A105D03AC2518248EEA14886

msg: gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

Alla fine, dato che è un vm, la mia soluzione era ricostruirla vagrant.


0

Per me è stato necessario aggiungere le istruzioni ENV nel mio file docker. Per esempio

ENV  http_proxy "http://[yourproxy]:[port]/"
ENV  https_proxy "http://[yourproxy]:[port]/"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.