Bagaimana cara memperbaiki kesalahan GPG "NO_PUBKEY"?

Saya menambahkan beberapa repositori tambahan dengan Program Sumber Perangkat Lunak. Tetapi ketika saya memuat ulang database paket, saya mendapatkan kesalahan seperti berikut:

W: kesalahan GPG: http://ppa.launchpad.net trusty InRelease: tanda tangan berikut tidak dapat diverifikasi karena kunci publik tidak tersedia: NO_PUBKEY 8BAF9A6F

Saya tahu saya bisa memperbaikinya menggunakan apt-key di terminal, menurut dokumentasi resmi Ubuntu. Tapi saya ingin melakukannya secara grafis. Apakah ada cara untuk melakukan ini tanpa menggunakan terminal?

Jalankan perintah berikut di terminal

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>

dimana <PUBKEY> apakah kunci publik Anda hilang untuk repositori, mis. 8BAF9A6F.

Kemudian perbarui

sudo apt-get update

METODE ALTERNATIF:

sudo gpg --keyserver pgpkeys.mit.edu --recv-key  <PUBKEY>sudo gpg -a --export <PUBKEY> | sudo apt-key add -sudo apt-get update

Perhatikan bahwa ketika Anda mengimpor kunci seperti ini menggunakan apt-key Anda memberi tahu sistem bahwa Anda mempercayai kunci yang Anda impor untuk menandatangani perangkat lunak yang akan digunakan sistem Anda. Jangan lakukan ini kecuali Anda yakin kuncinya benar-benar kunci distributor paket.

Sejauh ini cara paling sederhana untuk menangani ini sekarang adalah dengan Y-PPA-Manager (yang sekarang mengintegrasikan launchpad-getkeys script dengan antarmuka grafis).

  1. Untuk menginstalnya, pertama tambahkan repositori webupd8 untuk program ini:

    sudo add-apt-repository ppa:webupd8team/y-ppa-manager
  2. Perbarui daftar perangkat lunak Anda dan instal Y-PPA-Manager:

    sudo apt-get updatesudo apt-get install y-ppa-manager
  3. Jalankan Y-PPA-manager (yaitu tipe y-ppa-manager kemudian tekan tombol enter).

  4. Ketika jendela y-ppa-manager utama muncul, klik & quot; maju.& quot;

  5. Dari daftar Tugas Lanjutan, pilih"coba impor semua kunci GPG yang hilang & quot; dan klik OK.

    Kau sudah selesai! Seperti yang dikatakan dialog peringatan ketika Anda memulai operasi, mungkin perlu beberapa saat (sekitar 2 menit untuk saya) tergantung pada berapa banyak PPA yang anda miliki dan kecepatan koneksi Anda.

Itu terjadi ketika Anda tidak memiliki kunci publik yang sesuai untuk repositori.

Untuk mengatasi masalah ini gunakan perintah ini:

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 9BDB3D89CE49EC21

yang mengambil kunci dari ubuntu key server. Dan kemudian ini:

gpg --export --armor 9BDB3D89CE49EC21 | sudo apt-key add -

yang menambahkan kunci ke kunci tepercaya apt.

Solusinya dapat ditemukan di sini & di sini & di sini.

Anda perlu untuk mendapatkan dan mengimpor kunci.

Untuk mendapatkan kunci dari PPA, kunjungi halaman Launchpad PPA. Pada setiap halaman PPA di Launchpad Anda akan menemukan tautan ini (2), Setelah mengklik 'detail teknis tentang PPA ini' (1):

image 1

Ikuti dan klik tautan ID kunci (3):

image 2

Simpan halaman, ini adalah file kunci Anda.


Sekarang saatnya untuk mengimpornya:

  • Applications > Software Center,
  • Edit > Software sources...,
  • Masukkan kata sandi Anda,
  • Pergi ke Authentication tab dan klik Import Key File..., akhirnya
  • Pilih file kunci yang disimpan dan klik OK.

apt hanya dapat menangani 40 kunci di / etc/apt / trusted.gpg.d. 41 kunci dan Anda akan mendapatkan kesalahan GPG "tidak ada kunci publik yang ditemukan" bahkan jika Anda melalui semua langkah untuk menambahkan kunci yang hilang.

Periksa untuk melihat apakah ada kunci yang tidak digunakan dalam file ini dari ppa yang tidak lagi Anda gunakan. Jika semua sedang digunakan, pertimbangkan untuk menghapus beberapa ppa bersama dengan file kunci yang sesuai di / etc/apt / trusted.gpg.d

Selanjutnya menggunakan

sudo apt-key adv

Dianggap sebagai risiko keamanan dan tidak disarankan as you are "merusak seluruh konsep keamanan karena ini bukan cara aman untuk menerima kunci karena berbagai alasan (seperti: hkp adalah protokol plaintext, keyid pendek dan bahkan panjang dapat dipalsukan,...)". http://ubuntuforums.org/showthread.php?t=2195579

Saya percaya cara yang benar untuk menambahkan kunci yang hilang (misalnya 1ABC2D34EF56GH78) adalah

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1ABC2D34EF56GH78gpg --export --armor 1ABC2D34EF56GH78 | sudo apt-key add -

Ada skrip kecil yang dikemas dalam WebUpd8 PPA yang akan saya tautkan sebagai single .deb download sehingga anda tidak perlu menambahkan seluruh PPA - yang secara otomatis mengimpor semua kunci GPG hilang.

Unduh dan instal Launchpad-getkeys (abaikan ~ natty dalam versinya, ini berfungsi dengan semua versi Ubuntu dari Karmic hingga Oneiric). Setelah terinstal, buka terminal dan ketik:

sudo launchpad-getkeys

Jika Anda berada di belakang proxy, hal-hal yang sedikit lebih rumit sehingga melihat ini untuk info lebih lanjut

Saya menghadapi masalah yang sama saat menginstal Heroku. Tautan di bawah ini memecahkan masalah saya -

http://naveenubuntu.blogspot.in/2011/08/fixing-gpg-keys-in-ubuntu.html

Setelah memperbaiki NO_PUBKEY masalah, masalah di bawah ini tetap ada

W: GPG error: xhttp://toolbelt.heroku.com ./ Release: The following signatures were invalid: BADSIG C927EBE00F1B0520 Heroku Release Engineering <release@heroku.com>

Untuk memperbaikinya saya menjalankan perintah berikut di terminal:

sudo -i  apt-get clean  cd /var/lib/apt  mv lists lists.old  mkdir -p lists/partial  apt-get clean  apt-get update  

Sumber - Tautan untuk menyelesaikannya

Secara lebih umum, metode berikut harus berfungsi untuk setiap repositori. Pertama-tama cari, dengan bantuan mesin pencari, untuk teks di situs web penyedia program yang terlihat seperti berikut:

-----BEGIN PGP PUBLIC KEY BLOCK-----Version: GnuPG v1.4.1 (GNU/Linux)[...]-----END PGP PUBLIC KEY BLOCK-----

Teks seperti itu misalnya ditampilkan pada http://deb.opera.com. Salin bagian itu, tempel di file kosong yang Anda buat di desktop Anda. Ini menghasilkan file kunci.

Kemudian lanjutkan dengan impor kunci:

  • >Aplikasi Sofware Pusat
  • >Mengedit sumber Sofware..., masukkan kata sandi
  • Tab otentikasi, klik ' Impor file kunci...'
  • Pilih file kunci yang disimpan dan klik 'Ok'.

Anda sekarang dapat menghapus file kunci yang dibuat sebelumnya.

Pastikan Anda memiliki apt-transport-https terpasang:

dpkg -s apt-transport-https > /dev/null || bash -c "sudo apt-get update; sudo apt-get install apt-transport-https -y" 

Tambahkan repositori:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add - echo "deb [arch=amd64] https://repo.skype.com/deb stable main" | sudo tee /etc/apt/sources.list.d/skype-stable.list 

Instal Skype untuk Linux:

sudo apt-get update sudo apt-get install skypeforlinux -y

Sumber: https://community.skype.com/t5/Linux/Skype-for-Linux-Beta-signatures-couldn-t-be-verified-because-the/td-p/4645756

Bagus! Saya akhirnya menemukan jalan!

Saya telah menguji semua metode untuk diperbaiki Kesalahan GPG NO_PUBKEY dan tidak ada yang bekerja untuk saya.

Saya telah menghapus seluruh isi folder / etc/apt / trusted.gpg.d

cd /etc/apt/trusted.gpg.dsudo rm -R *sudo apt-get update

Dan saya menggunakan Y-PPA-Manager metode karena saya terlalu malas untuk membuat semua pubkey secara manual (terlalu banyak): http://www.unixmen.com/fix-w-gpg-error-no_pubkey-ubuntu/

jalankan sudo apt-get update lagi dan akhirnya semua bekerja dengan baik sekarang! Tank!

Sumber Berdasarkan : pos # 17 pada https://bugs.launchpad.net/ubuntu/ + sumber / apt/ + bug / 1263540

Anda dapat memeriksa ini jadi thread untuk solusi. Tautan ke [situs terkait] (Open Source For Geeks: W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6AF0E1940624A220)

Terkait: updates - How to fix missing GPG keys? - Ask Ubuntu

‘A mean’? Penasaran apa yang Anda maksud dengan itu.

@ MichaelScheper ’ Apakah ada cara untuk tidak membuka terminal?’=~‘Apakah ada cara untuk melakukannya tanpa terminal?’

@ Wilf: Oh! Saya tidak bermaksud nitpick tata bahasa, tapi itu membingungkan saya. Dari referensi yang baru saja saya periksa, ‘berarti’ adalah kata benda tunggal, dan yang Anda maksud. MEANS | meaning, definition in Cambridge English Dictionary tetapi jika Anda dan Agmentor menggunakan beberapa bentuk varian bahasa Inggris di mana tata bahasa dalam pertanyaan itu benar, saya ingin melihat referensi untuk itu, hanya karena saya tertarik pada hal semacam itu. :relaxed:

Untuk pengguna yang ingin menghapus repositori, lihat [pertanyaan ini] (software sources - How to remove a repository? - Ask Ubuntu) *(itu seharusnya membuat komentar ini lebih pada topik, meskipun saya kira mengevaluasi tata bahasa juga ada di sini:)) * @MichaelScheper ini adalah cara yang tidak biasa untuk mengatakannya, tetapi saya telah belajar sebagai bagian dari bahasa Inggris di Inggris (ini mungkin berarti bahasa Inggris saya lebih buruk daripada jika saya diajarkan dengan benar [dengan kata benda dll]! xD). Yang dimaksud dengan ‘a means to end’ (meaning - What does "It is a means to an end, not an end in itself" mean? - English Language & Usage Stack Exchange) datang ke pikiran, meskipun masalah ada sedikit akhir, tetapi di mana berarti Berarti metode atau cara.

@ Wilf: kamus yang saya tautkan adalah kamus Inggris, dan’ a means to end ’ sepenuhnya menggambarkan maksud saya, yaitu ‘means’ itu tunggal. Oleh karena itu, ‘berarti’ bukanlah kata yang tepat. Tapi Anda benar di mana Anda mengatakan ini telah jauh dari topik, jadi saya akan mundur dari diskusi lebih lanjut, dan menyerahkannya kepada Anda untuk memutuskan apakah akan mengedit pertanyaan. Bersulang.

Berikut adalah jawaban yang dapat diandalkan untuk pertanyaan ini: apt - How do I fix the GPG error "NO_PUBKEY"? - Ask Ubuntu