keyserver kehabisan waktu ketika mencoba menambahkan kunci publik GPG


67

Saya mencoba menambahkan kunci publik untuk menginstal program dengan CPG. Tetapi saya cukup baru dalam hal ini tetapi setiap perintah yang saya temukan memberi saya kesalahan yang sama:

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

Bagaimana ini mungkin tampak bahwa saya di belakang semacam blokade yang membuatnya tidak mungkin untuk membuat koneksi ke server kunci. Saya melihat ke banyak pertanyaan OP dan mencoba semua perintah yang bisa saya temukan tetapi tidak ada yang berhasil. Adakah yang pernah mengalami masalah ini sebelumnya?


Sudahkah Anda mencoba menggunakan server kunci lain? hkp: //subkeys.pgp.net atau hkp: //pgp.mit.edu: 11371
jasonwryan

@jasonwryan Ive mencoba pgp.mit.edu tetapi tanpa hkp: // apakah penggunaan itu penting? Saya tidak percaya begitu, tetapi ada baiknya mencoba untuk saya
Sander Van der Zeeuw

Gunakan alamat lengkap, dan port pengganti ...
jasonwryan

@jasonwryan saya masih punya?: pgp.mit.edu: Koneksi habis waktu gpgkeys: HTTP mengambil kesalahan 7: tidak dapat terhubung: Koneksi habis waktu gpg: tidak ada data OpenPGP yang valid ditemukan. gpg: Jumlah total yang diproses: 0
Sander Van der Zeeuw

3
gpg --keyserver hkp://pgp.mit.edu --recv-keys 94558F59bekerja untuk saya ...
jasonwryan

Jawaban:


113

Ini biasanya disebabkan oleh firewall Anda yang memblokir port 11371. Anda bisa membuka blokir port di firewall Anda. Jika Anda tidak memiliki akses ke firewall, Anda dapat:

  1. Paksa untuk menggunakan port 80alih-alih11371

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

    • Temukan dan buka kunci dari server kunci.
    • Salin kontennya ke file teks.
    • Buka System Tool> Preferensi> Sumber Perangkat Lunak> Otentikasi> Tambahkan kunci, dan pilih file teks yang dibuat. Untuk Ubuntu 14.04 dan yang lebih baru coba: Pusat Perangkat Lunak -> Edit -> Sumber Perangkat Lunak -> Otentikasi -> Impor file kunci

5
gpg --import key.txtjika Anda perlu mengimpor melalui baris perintah FYI.
Banjer

1
sks-keyservers.net/i untuk mengunduh kunci FYI
Lakshmi Narayanan

2
pilih cara alternatif! Pada Ubuntu 14.04 dan yang lebih baru, ditambahkan dariSoftware Center -> Edit -> Software Sources -> Authentication -> Import key file
Roy Ling

Ini memperbaiki masalah saya dengan menginstal kunci untuk rvm. Panggilan berikut sedang menunggu untuk saya: meminta kunci D39DC0E3 dari server hkp keys.gnupg.net
mdgrech

4
"Temukan dan buka kunci dari server kunci." Apa yang tidak disebut oleh siapa pun adalah bagaimana hal itu dilakukan. Dalam kasus saya, kunci yang dimaksud adalah di gpg.mit.edu. Oke, mudah, buka saja pgp.mit.edu dan rekatkan kunci ke dalam Search Stringbidang! Salah. Anda harus tahu rahasia ajaib: tambahkan kunci dengan 0x. Jika kuncinya adalah 0F571F6C, Anda harus mencari 0x0F571F6C, yang sama sekali tidak jelas.
Ben Johnson

19

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


6
sudotidak perlu dan, selain itu, jawaban ini tidak menambahkan masalah pada poster ...
jasonwryan

4
Saya sedang mengerjakan ini satu jam yang lalu, dan menambahkan baris ini memecahkan masalah bagi saya. Ada perbedaan yang saya tentukan port 80 secara eksplisit. Saya juga menentukan protokol secara eksplisit. Anda mungkin benar bahwa sudo tidak diperlukan, tetapi jawaban saya memberikan sedikit info yang relevan, bukan begitu? Oh dan, jawaban Anda juga benar.
Victor Piousbox

5
Hapus sudo dan jawabannya sudah benar.
jasonwryan

4
Diperlukan untuk menerima kunci dari server kunci publik? Saya kira tidak ...
jasonwryan

2
Menambahkan hkp: // sebagaimana tercantum dalam jawaban ini tidak bekerja untuk saya.
barryhunter

9

Ini bekerja untuk saya:

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

Aku mencintaimu kawan!
Yasser Sinjab

7

Saya mengalami masalah yang sama ketika saya mencoba menambahkan GPGkunci di belakang proxy. Solusi untuk masalah saya adalah menambahkan --keyserver-optionsperintah :

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

1

Coba dapatkan kunci Anda dari server lain (berfungsi untuk saya):

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

atau

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

1

Saya memperbaiki masalah saya dengan menjalankan perintah berikut:

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


0

Saya melihat ini di salah satu dari dua kotak identik menjalankan penyebaran yang mungkin terhadap gambar 14,04 ubuntu. Faktanya, ini sebelumnya berhasil app-infra-1tetapi pada beberapa titik mulai gagal. Fakta bahwa ia berhasil app-infra-2diciptakan kembali menunjukkan itu adalah korupsi app-infra-1atau bug dalam deteksi dan pelaporan apt-key adv.

Saya mencoba menghapus menggunakan kunci apt-key deltetapi saya terus mendapatkan kesalahan yang sama.

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

Pada akhirnya, karena ini adalah vm, solusi saya adalah membangunnya kembali vagrant.


0

Bagi saya harus menambahkan pernyataan ENV ke file buruh pelabuhan saya. Misalnya

ENV  http_proxy "http://[yourproxy]:[port]/"
ENV  https_proxy "http://[yourproxy]:[port]/"
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.