Bagaimana cara menambahkan kunci GPG ke keyring sumber apt?

67

Halaman Doc Ubuntu mengatakan ini:

Dianjurkan agar Anda menambahkan kunci Opera GPG.

wget -qO - http://deb.opera.com/archive.key | sudo apt-key add -

Di mana saya menambahkan itu?

Saya ingin mengambil saran tetapi saya tidak tahu bagian mana dari pusat perangkat lunak untuk menambahkan kunci gpg.

bruce
sumber
3
Saya percaya itu adalah perintah satu baris untuk masuk ke terminal
Mateo
1
.msi di Ubuntu disebut .deb.
Alvar
4
Sebagai catatan tambahan, menambahkan kunci yang Anda ambil dari non-HTTPS akan merusak keamanan yang ditambahkan paket penandatanganan. Jika memungkinkan, Anda harus mengunduh kunci melalui saluran aman (https: //).

Jawaban:

86

Ini perintah satu baris untuk masuk ke terminal. Lihat Apa itu terminal dan bagaimana cara membuka dan menggunakannya?

Untuk menggunakannya, Anda akan menempelkan seluruh perintah di terminal (ingat untuk menggunakan https):

wget -qO - https://deb.opera.com/archive.key | sudo apt-key add -

Tapi tentu saja, itu menakutkan hanya menyalin dan menempel perintah tanpa mengetahui apa yang mereka lakukan, dan tidak memiliki instruksi tentang cara membatalkan tindakan mereka, jadi di sini adalah rincian dasar dari perintah:

  • wgetmengunduh sesuatu dari server. Lihat manual wget untuk Ubuntu 16.04 .
  • | adalah pipline, yang mengambil output dari satu perintah dan menjalankannya ke input yang lain
  • apt-key add menambahkan kunci paket

Jadi itu pada dasarnya mengunduh kunci dan kemudian menambahkannya dalam satu perintah.

Saya menguji perintah dan itu harus berfungsi.


Sekarang untuk memverifikasi bahwa itu berhasil, jalankan perintah ini (dari jawaban ini ):

apt-key list

Ini akan mencantumkan kunci yang ditambahkan dan kunci dari Opera harus terdaftar di bawah seperti ini:

pub   1024D/30C18A2B 2012-10-29 [expires: 2014-10-29]
uid                  Opera Software Archive Automatic Signing Key 2013 <[email protected]>
sub   4096g/C528FCA9 2012-10-29 [expires: 2014-10-29]

Jawaban yang ditautkan juga menunjukkan bahwa Anda dapat menghapus kunci jika perlu, menggunakan:

sudo apt-key del 30C18A2B

dengan 30C18A2Bmenjadi id-key dari daftar.


Setelah melakukan perintah itu, dan mengatur sumber persis seperti di screenshot Anda , lakukan:

sudo apt-get update
sudo apt-get install opera

(perhatikan ada beberapa peringatan acak, tetapi tidak ada yang memengaruhi operasi instalasi atau pusat perangkat lunak)

Dan untuk penghapusan (untuk berjaga-jaga): Apa cara yang benar untuk sepenuhnya menghapus aplikasi?


Jadi dalam ringkasan:

  • Tambahkan repositori masukkan deskripsi gambar di sini
  • Tambahkan kunci dengan apt-key
  • Instal di terminal dengan apt-get
  • Cari di dash masukkan deskripsi gambar di sini
Mateo
sumber
4
"apt-key adv" memungkinkan seseorang untuk mengunduh kunci dari server kunci publik.
jeremiah
Setelah menambahkan kunci dengan apt-key add, file .key (dalam hal ini, "archive.key") dapat dihapus tanpa konsekuensi, bukan? Kunci (informasi, bukan file) telah ditambahkan ke daftar di suatu tempat, jadi file tersebut seharusnya tidak lagi diperlukan.
Cerran
2
@ Serran, benar. APT menyimpan kunci di tempat lain ( /etc/apt/trusted.gpg.d/dan /var/lib/apt/keyrings/misalnya.)
Alexis Wilke
Jika Anda mendapatkan kesalahan SSL dengan wget, Anda dapat menggunakan curl sebagai gantinya:curl -L https://deb.opera.com/archive.key | sudo apt-key add -
rubo77
24

Jika Anda secara manual menambahkan kunci dari PPA, gunakan

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 00000000

Mengganti 00000000dengan bagian kedua kunci yang diinformasikan di situs web PPA yang ingin Anda tambahkan.

Misalnya, jika Anda menemukan baris ini:

 4096R/7BF576066

Gunakan hanya bagian kedua (tidak peduli ukurannya), yang dalam contoh ini adalah 7BF576066

Paulo Coghi
sumber
seperti apakah kesalahan gpg: keyserver receive failed: No keyserver availabledan gpg: keyserver receive failed: Connection refusedumum?
iuridiniz
Tidak, kesalahan seperti ini tidak umum. Mungkin Anda menulis kunci yang salah.
Paulo Coghi
20

Versi apt yang lebih baru juga mendukung yang berikut:

apt-key adv --fetch-keys http://deb.opera.com/archive.key

Metode ini juga memberikan umpan balik yang lebih rinci, misalnya:

gpg: key 7BD9BF62: public key "signing key <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Ini juga memiliki bonus tambahan untuk menghilangkan kebutuhan akan dependensi tambahan seperti wget atau curl.

Andrew Odri
sumber
1
apt-key adv tampaknya tidak berfungsi untuk https
danihodovic
5
@ dani-h Anda perlu gnupg-curlmenggunakan HTTPS jika Anda menggunakan GPG 1.x.
Tao Wang
apt-key adv --fetch-keyshanya akan mengambil satu kunci dari URL, dan jika URL berisi beberapa kunci, silakan gunakan wget | apt-key addsebagai gantinya.
Tao Wang
Tampaknya sudah berfungsi dengan https (baru diuji pada Ubuntu 17.10)
user1182474
0

Cara lain di mana Anda hanya memiliki kunci .asc, Anda mengunduh kunci .asc dan menambahkannya ke kunci.

Misalnya -

curl -L https://packages.riot.im/debian/repo-key.asc | sudo apt-key add -
shirish
sumber