Nie można wysłać klucza pgp do serwera kluczy

10

Próbując wykonać kroki opisane w http://packaging.ubuntu.com/singlehtml/, aby utworzyć pakiet deb dla niektórych programów ...

Musiałem zacząć od wygenerowania klucza GPG

$ gpg --gen-key

Następnie prześlij publiczną część swojego klucza na serwer kluczy

$ gpg --send-keys --keyserver keyserver.ubuntu.com 12345678
gpg: sending key 12345678 to hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver send failed: keyserver error

Próbowałem dodać port 80, ponieważ przeczytałem coś o zaporze blokującej te żądania

gpg --send-keys --keyserver hkp://keyserver.ubuntu.com:80 C58C1F62
gpg: sending key C58C1F62 to keyserver.ubuntu.com:80
gpgkeys: no keyserver host provided
gpg: keyserver internal error
gpg: keyserver send failed: keyserver error

Próbowałem innych serwerów, które znalazłem, szukając tych błędów w sieci

$ gpg --send-keys --keyserver sks-keyservers.net:80 12345678
gpg: sending key 12345678 to keyserver.sks-keyservers.net:80
gpgkeys: no keyserver host provided
gpg: keyserver internal error
gpg: keyserver send failed: keyserver error

$ gpg --send-keys --keyserver  pgp.mit.edu:80 12345678
gpg: sending key 12345678 to pgp.mit.edu:80
gpgkeys: no keyserver host provided
gpg: keyserver internal error
gpg: keyserver send failed: keyserver error

też próbowałem

gpg --send-keys --keyserver  keyserver.pgp.com:80 12345678
gpg --send-keys --keyserver  keyserver.sks-keyservers.net:80 12345678

(na wszelki wypadek, gdy potrzebowałem „keyserver”)

Wszystko z tym samym błędem.

Czego mi brakuje ?

Aktualizacja : zmieniono kolejność opcji i dodano protokół hkp: \ - wciąż jestem z powrotem tam, gdzie zacząłem - z niewielką poprawą komunikatu

$ gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 12345678
  gpg: sending key 12345678to hkp server pool.sks-keyservers.net
  gpg: keyserver timed out
  gpg: keyserver send failed: keyserver error

Edycja: Przeczytałem, że brakujący host serwera kluczy może być złym komunikatem, co w rzeczywistości oznacza, że ​​klucz nie istnieje na serwerze ... Ale jeśli go wyślę, oczywiście nie będzie.

gpg --send-keys --keyserver keyserver.ubuntu.com:80 C58C1F62
gpg: sending key C58C1F62 to keyserver.ubuntu.com:80
gpgkeys: no keyserver host provided
gpg: keyserver internal error
gpg: keyserver send failed: keyserver error

dig keyserver.ubuntu.com
; <<>> DiG 9.8.1-P1 <<>> keyserver.ubuntu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40676
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0    
;; QUESTION SECTION:
;keyserver.ubuntu.com.      IN  A    
;; ANSWER SECTION:
keyserver.ubuntu.com.   217 IN  A   91.189.90.55
keyserver.ubuntu.com.   217 IN  A   91.189.89.49    
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Sep 30 12:41:52 2014
;; MSG SIZE  rcvd: 70

co oznacza, że ​​serwer istnieje? Ale CZĘŚĆ PYTANIA wygląda na pustą ...

gpg --send-keys --keyserver hkp://keyserver.ubuntu.com:80 C58C1F62
gpg: sending key C58C1F62 to hkp server keyserver.ubuntu.com
gpgkeys: HTTP post error 7: couldn't connect: eof
gpg: keyserver internal error
gpg: keyserver send failed: keyserver error

dig hkp://keyserver.ubuntu.com    
; <<>> DiG 9.8.1-P1 <<>> hkp://keyserver.ubuntu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 968
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;hkp://keyserver.ubuntu.com.    IN  A    
;; AUTHORITY SECTION:
ubuntu.com.     899 IN  SOA ns1.canonical.com. hostmaster.canonical.com. 2014093001 10800 3600 604800 3600    
;; Query time: 164 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Sep 30 13:08:37 2014
;; MSG SIZE  rcvd: 105

Próbowałem także dodać opcję proxy ...

gpg --keyserver-options http-proxy='http://10.1.1.1:1234/' --keyserver hkp://keyserver.ubuntu.com:80 --send-keys C58C1F62
gpg: sending key C58C1F62 to hkp server keyserver.ubuntu.com
gpgkeys: HTTP post error 7: couldn't connect: eof
gpg: keyserver internal error
gpg: keyserver send failed: keyserver error
Thalia
źródło

Odpowiedzi:

9

Miałem ten sam problem. Zmieniono hkpsna hkp: gpg --keyserver hkp://hkps.pool.sks-keyservers.net --send-key. I zadziałało.

auraz
źródło
To powiela inną odpowiedź i nie dodaje żadnej nowej treści. Nie publikuj odpowiedzi, chyba że masz coś nowego do dodania.
DavidPostill
@DavidPostill W innej odpowiedzi nie stwierdzono wyraźnie, że należy usunąć (-a), aby to zadziałało. Czy uważasz, że powinienem usunąć moją odpowiedź?
auraz
Ta sama poprawka dotyczy problemów z pobieraniem kluczy za pomocą enigmail. Rozwiązaniem jest edycja identyfikatora URI serwera kluczy w ustawieniach. Enigmail twierdzi, że inaczej nie znalazł klucza.
lucidbrot
3

Istnieje wiele problemów:

  • --keyserverOpcja musi być podana wcześniej --send-keys.

  • --keyserveroczekuje identyfikatora URI, w tym protokołu. Przykładem może być serwer kluczy Ubuntu

    --keyserver hkp://keyserver.ubuntu.com
    
  • Używasz niewłaściwych hostów do sieci serwera kluczy SKS. Przeczytaj https://sks-keyservers.net/overview-of-pools.php dla dostępnych pul. Najbardziej ogólna (pozostałe pule są w większości podzielone na regiony) pool.sks-keyservers.net, z której można korzystać

    --keyserver hkp://pool.sks-keyservers.net
    
Jens Erat
źródło
Dzięki - próbowałem, ale serwery wciąż przekroczyły limit czasu ... Zobacz aktualizację
Thalia