Wie füge ich dem Schlüsselbund von apt sources einen GPG-Schlüssel hinzu?

67

Die Ubuntu Doc- Seite sagt dies:

Es wird empfohlen, den Opera GPG-Schlüssel hinzuzufügen.

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

Wo füge ich das hinzu?

Ich möchte den Rat annehmen, weiß aber nicht, zu welchem ​​Teil des Software-Centers GPG-Schlüssel hinzugefügt werden sollen.

Bruce
quelle
3
Ich glaube, das ist ein einzeiliger Befehl, um das Terminal zu betreten
Mateo
1
.msi in Ubuntu heißt .deb.
Alvar
4
Nebenbei bemerkt, das Hinzufügen von Schlüsseln, die Sie über Nicht-HTTPS abrufen, unterbricht jegliche Sicherheit, die durch das Signieren von Paketen hinzugefügt wurde. Nach Möglichkeit sollten Sie Schlüssel über einen sicheren Kanal (https: //) herunterladen.

Antworten:

86

Dies ist ein einzeiliger Befehl zur Eingabe in das Terminal. Siehe Was ist ein Terminal und wie öffne und verwende ich es?

Um es zu verwenden, fügen Sie den gesamten Befehl in das Terminal ein (denken Sie daran, https zu verwenden):

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

Aber natürlich ist es entmutigend, nur Befehle zu kopieren und einzufügen, ohne zu wissen, was sie tun, und keine Anweisungen zum Rückgängigmachen ihrer Aktionen zu haben. Hier ist eine grundlegende Aufschlüsselung der Befehle:

  • wgetlädt etwas von einem Server herunter. Siehe wget Handbuch für Ubuntu 16.04 .
  • | ist eine Pipline, die die Ausgabe eines Befehls auf die Eingabe eines anderen Befehls überträgt
  • apt-key add fügt einen Paketschlüssel hinzu

Es lädt also im Grunde den Schlüssel herunter und fügt ihn dann in einem Befehl hinzu.

Ich habe den Befehl getestet und er sollte funktionieren.


Nun , um sicherzustellen , dass es geklappt hat, diesen Befehl ausführen (aus dieser Antwort ):

apt-key list

Dies listet die hinzugefügten Schlüssel auf und der Schlüssel von Opera sollte unten wie folgt aufgeführt sein:

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]

Die verknüpfte Antwort zeigt auch, dass Sie den Schlüssel bei Bedarf entfernen können, indem Sie Folgendes verwenden:

sudo apt-key del 30C18A2B

mit 30C18A2Bder Schlüssel-ID aus der Liste.


Nachdem Sie diesen Befehl ausgeführt und die Quellen genau wie in Ihrem Screenshot eingerichtet haben , gehen Sie wie folgt vor:

sudo apt-get update
sudo apt-get install opera

(Beachten Sie, dass es einige zufällige Warnungen gibt, aber nichts, was die Installation oder den Betrieb des Software Centers beeinträchtigt.)

Und zum Entfernen (nur für den Fall): Wie kann eine Anwendung vollständig entfernt werden?


Also zusammenfassend:

  • Repository hinzufügen Bildbeschreibung hier eingeben
  • Schlüssel hinzufügen mit apt-key
  • Installieren Sie im Terminal mit apt-get
  • Suche im Bindestrich Bildbeschreibung hier eingeben
Mateo
quelle
4
"apt-key adv" ermöglicht das Herunterladen des Schlüssels von einem öffentlichen Schlüsselserver.
Jeremiah
Nach dem Hinzufügen des Schlüssels mit apt-key addkann die .key-Datei (in diesem Fall "archive.key") ohne Konsequenz gelöscht werden, oder? Der Schlüssel (die Informationen, nicht die Datei) wurde bereits zu einer Liste hinzugefügt, sodass die Datei nicht mehr benötigt werden sollte.
Cerran
2
@Cerran, richtig. APT behält Schlüssel woanders ( /etc/apt/trusted.gpg.d/und /var/lib/apt/keyrings/zum Beispiel)
Alexis Wilke
Wenn Sie einen SSL-Fehler mit wget erhalten, können Sie stattdessen curl verwenden:curl -L https://deb.opera.com/archive.key | sudo apt-key add -
rubo77
24

Wenn Sie manuell einen Schlüssel aus einer PPA hinzufügen, verwenden Sie

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

Ersetzen Sie den 00000000durch den zweiten Teil des Schlüssels, der auf der PPA-Website angegeben ist, die Sie hinzufügen möchten.

Wenn Sie zum Beispiel diese Zeile finden:

 4096R/7BF576066

Verwenden Sie nur den zweiten Teil (egal wie groß er ist), der in diesem Beispiel ist 7BF576066

Paulo Coghi
quelle
sind Fehler wie gpg: keyserver receive failed: No keyserver availableund gpg: keyserver receive failed: Connection refusedhäufig?
iuridiniz
Nein, solche Fehler kommen nicht häufig vor. Vielleicht schreiben Sie den falschen Schlüssel.
Paulo Coghi
20

Neuere Versionen von apt unterstützen außerdem Folgendes:

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

Diese Methode liefert auch detailliertere Rückmeldungen, zB:

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

Dies hat auch den zusätzlichen Vorteil, dass keine zusätzlichen Abhängigkeiten wie Wget oder Curl mehr erforderlich sind.

Andrew Odri
quelle
1
apt-key adv scheint für https nicht zu funktionieren
danihodovic
5
@ dani-h gnupg-curlWenn Sie GPG 1.x verwenden, müssen Sie HTTPS verwenden.
Tao Wang
apt-key adv --fetch-keysRuft nur einen Schlüssel von der URL ab. Wenn die URL mehrere Schlüssel enthält, verwenden Sie wget | apt-key addstattdessen.
Tao Wang
Es scheint bereits mit https zu funktionieren (gerade auf Ubuntu 17.10 getestet)
user1182474
0

Wenn Sie nur einen .asc-Schlüssel haben, laden Sie den .asc-Schlüssel herunter und fügen ihn dem Schlüsselbund hinzu.

Zum Beispiel -

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