przekroczono limit czasu serwera kluczy podczas próby dodania klucza publicznego GPG


67

Próbuję dodać klucz publiczny do zainstalowania programu za pomocą CPG. Ale jestem całkiem nowy, ale każde znalezione polecenie dało mi ten sam błąd:

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

Jak to możliwe, wydaje się, że jestem za jakąś blokadą, która uniemożliwia nawiązanie połączenia z kluczowym serwerem. Przejrzałem wiele pytań OP i wypróbowałem wszystkie polecenia, które udało mi się znaleźć, ale nic nie działało. Czy ktoś miał wcześniej ten problem?


Czy próbowałeś użyć innego serwera kluczy? hkp: //subkeys.pgp.net lub hkp: //pgp.mit.edu: 11371
jasonwryan

@ jasonwryan Próbowałem pgp.mit.edu, ale bez hkp: // czy użycie tego jest ważne? nie sądzę, ale warto spróbować dla mnie
Sander Van der Zeeuw

Użyj pełnego adresu i alternatywnego portu ...
jasonwryan

@ jasonwryan Nadal mam?: pgp.mit.edu: Przekroczono limit czasu połączenia gpgkeys: Błąd pobierania HTTP 7: nie można nawiązać połączenia: Przekroczono limit czasu połączenia gpg: nie znaleziono prawidłowych danych OpenPGP. gpg: Łączna liczba przetworzonych: 0
Sander Van der Zeeuw

3
gpg --keyserver hkp://pgp.mit.edu --recv-keys 94558F59pracował dla mnie ...
jasonwryan

Odpowiedzi:


113

Jest to zazwyczaj spowodowane przez zaporę blokującą port 11371. Możesz odblokować port w swojej zaporze ogniowej. Jeśli nie masz dostępu do zapory, możesz:

  1. Zmusza go do używania portu 80zamiast11371

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

    • Znajdź i otwórz klucz z serwera kluczy.
    • Skopiuj jego zawartość do pliku tekstowego.
    • Przejdź do Narzędzia systemowe> Preferencje> Źródła oprogramowania> Uwierzytelnianie> Dodaj klucz i wybierz utworzony plik tekstowy. W przypadku systemu Ubuntu 14.04 i nowszych spróbuj: Centrum oprogramowania -> Edytuj -> Źródła oprogramowania -> Uwierzytelnianie -> Importuj plik klucza

5
gpg --import key.txtjeśli chcesz zaimportować za pomocą wiersza polecenia FYI.
Banjer

1
sks-keyservers.net/i, aby pobrać klucz FYI
Lakshmi Narayanan

2
głosuj za alternatywnym sposobem! W systemie Ubuntu 14.04 i nowszych dodano goSoftware Center -> Edit -> Software Sources -> Authentication -> Import key file
Roy Ling

To rozwiązało mój problem z instalacją kluczy do rvm. Zawieszono dla mnie następujące połączenie: żądanie klucza D39DC0E3 od serwera hkp keys.gnupg.net
mdgrech

4
„Znajdź i otwórz klucz z serwera kluczy.” Nikt nie wspomina o tym, jak to się robi. W moim przypadku kluczem jest gpg.mit.edu. Dobra, łatwo, po prostu przejdź do pgp.mit.edu i wklej klucz w Search Stringpole! Źle. Musisz znać ten magiczny sekret: uzupełnij klucz kluczem 0x. Jeśli klucz jest 0F571F6C, musisz wyszukać 0x0F571F6C, co nie jest w żaden sposób oczywiste.
Ben Johnson

19

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


6
sudonie jest konieczne, a poza tym ta odpowiedź nic nie dodaje do problemu z plakatem ...
jasonwryan

4
Pracowałem nad tym zaledwie godzinę temu, a dodanie tego wiersza rozwiązało problem. Istnieje różnica, którą wyraźnie określam port 80. Podaję również jawnie protokół. Być może masz rację, że sudo nie jest potrzebne, ale moja odpowiedź zawiera trochę istotnych informacji, nie sądzisz? Aha, twoja odpowiedź również jest poprawna.
Victor Piousbox

5
Usuń sudo i odpowiedź jest prawidłowa.
jasonwryan

4
Niezbędne do otrzymania kluczy z publicznego serwera kluczy? Nie sądzę ...
jasonwryan

2
Dodanie hkp: // jak wspomniano w tej odpowiedzi działa dla mnie.
barryhunter 21.04.16


7

Ten sam problem napotkałem, gdy próbowałem dodać GPGklucz za serwerem proxy. Rozwiązaniem mojego problemu było dodanie --keyserver-optionspolecenia :

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

1

Spróbuj zdobyć klucz z innego serwera (pracował dla mnie):

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

lub

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

1

Rozwiązałem problem, uruchamiając następujące polecenie:

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


0

Widzę to na jednym z dwóch identycznych urządzeń uruchamiających ansible na obrazie Ubuntu 14.04. W rzeczywistości wcześniej działał, app-infra-1ale w pewnym momencie zaczął zawodzić. Fakt, że udało się go app-infra-2odtworzyć na nowo, sugeruje, że jest to uszkodzenie app-infra-1lub błąd w wykrywaniu i zgłaszaniu apt-key adv.

Próbowałem usunąć klucz, apt-key delale nadal pojawia się ten sam błąd.

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

W końcu, ponieważ jest to vm, moim rozwiązaniem było przebudowanie go vagrant.


0

Dla mnie konieczne było dodanie instrukcji ENV do mojego pliku dokera. Na przykład

ENV  http_proxy "http://[yourproxy]:[port]/"
ENV  https_proxy "http://[yourproxy]:[port]/"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.