Wie behebe ich den GPG-Fehler "NO_PUBKEY"?

292

Ich habe einige zusätzliche Repositories mit dem Programm Software Sources hinzugefügt. Aber wenn ich die Paketdatenbank neu lade, erhalte ich einen Fehler wie den folgenden:

  

W: GPG-Fehler: Pfandrecht trusted InRelease: Die folgenden Signaturen konnten nicht verifiziert werden, da der öffentliche Schlüssel nicht verfügbar ist: NO_PUBKEY 8BAF9A6F

Ich weiß, dass ich es mit apt-key in einem Terminal beheben kann, laut der offiziellen Ubuntu-Dokumentation. Aber ich hätte es gerne grafisch gemacht. Gibt es eine Möglichkeit, dies ohne Verwendung eines Terminals zu tun?

    
Agmenor 13.11.2010, 21:27
quelle

11 Antworten

187

Der mit Abstand einfachste Weg, dies jetzt zu handhaben, ist mit dem Y-PPA-Manager (der jetzt das launchpad-getkeys -Skript mit einer grafischen Oberfläche integriert).

  1. Um es zu installieren, fügen Sie zunächst das webupd8-Repository für dieses Programm hinzu:

    sudo add-apt-repository ppa:webupd8team/y-ppa-manager
    
  2. Aktualisieren Sie Ihre Softwareliste und installieren Sie den Y-PPA-Manager:

    sudo apt-get update
    sudo apt-get install y-ppa-manager
    
  3. Führe y-ppa-manager aus (d. h. y-ppa-manager eingeben und die Eingabetaste drücken).

  4. Wenn das Hauptfenster von y-ppa-manager erscheint, klicken Sie auf "Erweitert".

  5. Wählen Sie in der Liste der erweiterten Aufgaben "Versuchen Sie, alle fehlenden GPG-Schlüssel zu importieren", und klicken Sie auf OK.

    Du bist fertig! Wie der Warndialog sagt, wenn Sie den Vorgang starten, kann es eine Weile dauern (ungefähr 2 Minuten für mich), abhängig davon, wie viele PPAs Sie haben und wie schnell Ihre Verbindung ist.

monotasker 04.12.2013, 16:52
quelle
429

Führen Sie die folgenden Befehle im Terminal

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

wobei <PUBKEY> der fehlende öffentliche Schlüssel für das Repository ist, z. 8BAF9A6F .

Aktualisieren Sie dann

sudo apt-get update

ALTERNATIVE METHODE:

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

Beachten Sie, dass Sie beim Importieren eines Schlüssels wie diesem mit apt-key dem System mitteilen, dass Sie dem Schlüssel vertrauen, den Sie importieren, um Software zu signieren, die Ihr System verwendet. Tun Sie das nicht, wenn Sie nicht sicher sind, dass der Schlüssel wirklich der Schlüssel des Paketverteilers ist.

    
karthick87 28.11.2010 19:49
quelle
38

Dies passiert, wenn Sie keinen geeigneten öffentlichen Schlüssel für ein Repository haben.

Um dieses Problem zu lösen, verwenden Sie diesen Befehl:

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

ruft den Schlüssel vom Ubuntu-Schlüsselserver ab. Und dann das:

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

fügt den Schlüssel zu apt-vertrauenswürdigen Schlüsseln hinzu.

Die Lösung finden Sie hier & amp; hier & amp; hier .

    
Pedram 28.03.2011 00:31
quelle
32

Sie müssen den Schlüssel erhalten und importieren.

Um den Schlüssel von einem PPA zu erhalten, besuchen Sie die Launchpad-Seite des PPA. Auf jeder PPA-Seite im Launchpad finden Sie diesen Link (2), nachdem Sie auf "Technische Details zu diesem PPA" (1) geklickt haben:

Folge ihm und klicke auf den Schlüssel-ID-Link (3):

Speichern Sie die Seite, dies ist Ihre Schlüsseldatei.

Jetzt ist es an der Zeit, es zu importieren:

  • Applications > Software Center ,
  • Edit > Software sources... ,
  • Geben Sie Ihr Passwort ein,
  • Gehen Sie zur Registerkarte Authentication und klicken Sie schließlich auf Import Key File... ,
  • Wählen Sie die gespeicherte Schlüsseldatei und klicken Sie auf OK .

Das ist es.

    
htorque 13.11.2010 22:04
quelle
11

apt kann nur 40 Schlüssel in /etc/apt/trusted.gpg.d verarbeiten. 41 Schlüssel und Sie erhalten den GPG-Fehler "kein öffentlicher Schlüssel gefunden", auch wenn Sie alle Schritte durchlaufen, um die fehlenden Schlüssel hinzuzufügen.

Überprüfen Sie, ob in dieser Datei noch nicht verwendete Schlüssel von nicht mehr verwendeten PPA (s) enthalten sind. Wenn alle verwendet werden, sollten Sie in Erwägung ziehen, einige PPA (s) zusammen mit den entsprechenden Schlüsseldateien in /etc/apt/trusted.gpg.d

zu entfernen

Außerdem mit

sudo apt-key adv

Wird als Sicherheitsrisiko betrachtet und nicht empfohlen, da Sie das gesamte Sicherheitskonzept untergraben, da dies aus verschiedenen Gründen keine sichere Methode ist, Schlüssel zu empfangen (wie: hkp ist ein Klartextprotokoll, kurze und sogar lange Keyids können gefälscht werden, ...) ". Pfandrecht

Ich glaube, dass das Hinzufügen fehlender Schlüssel (zum Beispiel 1ABC2D34EF56GH78) richtig ist

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1ABC2D34EF56GH78
gpg --export --armor 1ABC2D34EF56GH78 | sudo apt-key add -
    
mchid 08.08.2014 00:33
quelle
8

In der WebUpd8-PPA ist ein kleines Skript enthalten, das ich als einzelnen .deb-Download verlinke, sodass Sie nicht die gesamte PPA hinzufügen müssen, die automatisch alle fehlenden GPG-Schlüssel importiert.

Downloaden und installieren Launchpad-getkeys (ignoriere das ~ natty in seiner Version, es funktioniert mit allen Ubuntu-Versionen von Karmic bis hin zu Oneiric). Öffnen Sie nach der Installation ein Terminal und geben Sie Folgendes ein:

sudo launchpad-getkeys

Wenn Sie hinter einem Proxy sind, sind die Dinge etwas komplizierter, siehe dies für weitere Informationen

    
Alin Andrei 05.06.2011 22:15
quelle
4

Ich hatte dasselbe Problem bei der Installation von Heroku. Der unten stehende Link löste mein Problem -

Pfandrecht

Nachdem das NO_PUBKEY Problem behoben wurde, blieb das folgende Problem bestehen:

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

Um es zu beheben, habe ich die folgenden Befehle im Terminal ausgeführt:

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

Quelle - Link, um es zu lösen

    
dennyac 30.01.2013 18:12
quelle
4

Stellen Sie sicher, dass apt-transport-https installiert ist:

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

Repository hinzufügen:

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 

Installieren Sie Skype für Linux:

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

Quelle: Lien

    
Eduardo Cuomo 27.05.2017 22:00
quelle
3

Generell sollte die folgende Methode für jedes Repository funktionieren. Suchen Sie zunächst mit Hilfe einer Suchmaschine nach einem Text auf der Website des Programmanbieters, der wie folgt aussieht:

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

Ein solcher Text wird beispielsweise auf Pfandrecht angezeigt. Kopieren Sie die Passage und fügen Sie sie in eine leere Datei ein, die Sie auf Ihrem Desktop erstellen. Dies führt zu der Schlüsseldatei.

Fahren Sie dann mit dem Import des Schlüssels fort:

  • Anwendungen & gt; Software-Center
  • Bearbeiten & gt; Softwarequellen ..., geben Sie ein Passwort ein
  • Registerkarte "Authentifizierung", klicken Sie auf "Schlüsseldatei importieren ..."
  • Wählen Sie die gespeicherte Schlüsseldatei und klicken Sie auf "OK".

Sie können jetzt die zuvor erstellte Schlüsseldatei entfernen.

    
Agmenor 13.11.2010 22:43
quelle
2

Gut! Ich habe endlich den Weg gefunden!

Ich habe alle Methoden getestet, um GPG-Fehler NO_PUBKEY zu beheben und nichts funktioniert für mich.

Ich habe den gesamten Inhalt des Ordners /etc/apt/trusted.gpg.d

gelöscht
cd /etc/apt/trusted.gpg.d
sudo rm -R *
sudo apt-get update

Und ich benutze die Methode Y-PPA-Manager , weil ich zu faul bin, um alle Pub-Keys manuell zu erstellen (zu viele): lien

rufe sudo apt-get update wieder auf und endlich funktioniert alles super! Tanks!

Basierte Quelle: Post # 17 auf Pfandrecht

    
NeurOSick 08.04.2015 15:36
quelle
1

Ich hatte das gleiche Problem mit DynDNS Updater-Client.

Es stellte sich heraus, dass es sich um abgelaufene Schlüssel handelte.

Das erneute Installieren der Software (Herunterladen eines neuen .deb von der Website und anschließendes Neuinstallieren des Software-Centers) behob das Problem.

Fehlermeldung als Referenz:

W: GPG error: http://cdn.dyn.com stable/ Release: The following signatures were invalid: KEYEXPIRED 141943.......
    
Cranky 08.01.2015 17:53
quelle

Tags und Links