Come aggiungere una chiave GPG al portachiavi di sorgenti apt?


67

La pagina di Ubuntu Doc dice questo:

Si consiglia di aggiungere la chiave GPG di Opera.

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

Dove lo aggiungo?

Voglio seguire il consiglio ma non so a quale parte del centro software aggiungere chiavi gpg.


3
Credo che sia un comando a una riga per entrare nel terminal
Mateo,

1
.msi in Ubuntu si chiama .deb.
Alvar,

4
Come nota a margine, l'aggiunta di chiavi recuperate su non HTTPS interrompe qualsiasi protezione aggiunta dai pacchetti di firma. Ove possibile, è necessario scaricare le chiavi su un canale sicuro (https: //).

Risposte:


86

Questo è un comando a una riga per entrare nel terminale. Vedi Cos'è un terminale e come posso aprirlo e usarlo?

Per usarlo, dovresti incollare l'intero comando nel terminale (ricorda di usare https):

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

Ma, naturalmente, è scoraggiante solo copiare e incollare i comandi senza sapere cosa stanno facendo e non avere istruzioni su come annullare le loro azioni, quindi ecco una suddivisione di base dei comandi:

  • wgetscarica qualcosa da un server. Vedi il manuale di wget per Ubuntu 16.04 .
  • | è una pipeline, che accetta l'output di un comando e lo esegue nell'input di un altro
  • apt-key add aggiunge una chiave del pacchetto

Quindi sostanzialmente scarica la chiave e poi la aggiunge in un solo comando.

Ho testato il comando e dovrebbe funzionare.


Ora per verificare che abbia funzionato, esegui questo comando (da questa risposta ):

apt-key list

Questo elencherà le chiavi aggiunte e la chiave di Opera dovrebbe essere elencata in basso in questo modo:

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

La risposta collegata mostra anche che puoi rimuovere la chiave se necessario, usando:

sudo apt-key del 30C18A2B

con 30C18A2Bl'ID-chiave dall'elenco.


Dopo aver eseguito quel comando e aver impostato le fonti esattamente come nella schermata , fare:

sudo apt-get update
sudo apt-get install opera

(nota che ci sono alcuni avvisi casuali, ma nulla che influisce sulle operazioni di installazione o del centro software)

E per la rimozione (per ogni evenienza): qual è il modo corretto di rimuovere completamente un'applicazione?


Quindi in sintesi:

  • Aggiungi repository inserisci qui la descrizione dell'immagine
  • Aggiungi chiave con apt-key
  • Installare nel terminale con apt-get
  • Cerca in trattino inserisci qui la descrizione dell'immagine

4
"apt-key adv" consente di scaricare la chiave da un server di chiavi pubblico.
Geremia,

Dopo aver aggiunto la chiave con apt-key add, il file .key (in questo caso, "archive.key") può essere eliminato senza conseguenze, giusto? La chiave (l'informazione, non il file) è già stata aggiunta a un elenco da qualche parte, quindi il file non dovrebbe più essere necessario.
Cerran,

2
@Cerran, corretto. APT tiene le chiavi da qualche altra parte ( /etc/apt/trusted.gpg.d/e /var/lib/apt/keyrings/per esempio.)
Alexis Wilke,

Se ricevi un errore SSL con wget, puoi invece usare curl:curl -L https://deb.opera.com/archive.key | sudo apt-key add -
rubo77

24

Se si aggiunge manualmente una chiave da un PPA, utilizzare

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

Sostituendo il 00000000con la seconda parte della chiave informata nel sito Web PPA che si desidera aggiungere.

Ad esempio, se trovi questa riga:

 4096R/7BF576066

Utilizzare solo la seconda parte (indipendentemente dalle dimensioni), che in questo esempio è 7BF576066


gli errori sono simili gpg: keyserver receive failed: No keyserver availablee gpg: keyserver receive failed: Connection refusedcomuni?
iuridiniz,

No, errori come questi non sono comuni. Forse stai scrivendo la chiave sbagliata.
Paulo Coghi,

21

Le versioni più recenti di apt supportano anche le seguenti:

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

Questo metodo fornisce anche feedback più dettagliati, ad esempio:

gpg: key 7BD9BF62: public key "signing key <username@domain.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Questo ha anche il vantaggio di rimuovere la necessità di dipendenze aggiuntive come wget o curl.


1
apt-key adv non sembra funzionare per https
danihodovic il

5
@ dani-h Devi gnupg-curlusare HTTPS se stai usando GPG 1.x.
Tao Wang,

apt-key adv --fetch-keysrecupererà solo una chiave dall'URL e se l'URL contiene più chiavi, utilizzare wget | apt-key addinvece.
Tao Wang,

Sembra funzionare già con HTTPS (appena testato su Ubuntu 17.10)
user1182474

0

Un altro modo in cui hai solo una chiave .asc, scarichi la chiave .asc e la aggiungi al portachiavi.

Per esempio -

curl -L https://packages.riot.im/debian/repo-key.asc | sudo apt-key add -
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.