Frage Wie man fehlende GPG Schlüssel repariert?


Ich habe gerade Ubuntu 12.04 installiert und ich habe ein paar Repo hinzugefügt, und als ich es tat apt-get updateIch habe den GPG-Schlüssel verloren.

Der folgende Befehl scheint bei mir nicht zu funktionieren:

apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "\nProcessing key: $key"; gpg --keyserver subkeys.pgp.net --recv $key && sudo gpg --export --armor $key | apt-key add -; done

Wie behebe ich dieses Problem?


145
2018-04-28 22:26


Ursprung


Es wäre gut, wenn Antworten auf diese Frage enthalten, warum dieser Fehler überhaupt auftritt und was zu tun ist, um es in Zukunft zu vermeiden. - Flimm
Ich habe mein Problem mit Y-PPA-Manager gelöst. Danke an Ashu für die Lösung!
Detaillierte Lösung mit Screenshots opensourceforgeeks.blogspot.in/2013/04/... - Aniket Thakur
Verbunden: askubuntu.com/q/13065/178596 - Wilf


Antworten:


Ich mochte diese Lösung, lade die fehlenden Schlüssel vom Ubuntu-Schlüsselserver herunter.

Für Ubuntu

In meinem Fall

 Reading package lists... Done  
 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 2EA8F35793D8809A

Hier ist der Befehl zum Hinzufügen des fehlenden Schlüssels, der in der Fehlermeldung erwähnt wird.

sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 2EA8F35793D8809A

Also nehme ich den fehlenden Schlüssel 2EA8F35793D8809A und frage den keyserver.ubuntu.com, um ihn zu der Liste der Schlüssel hinzuzufügen, die ich in apt habe.

Für Linux Mint
Ihre Schlüsselserver ist etwas anders keyserver.linuxmint.com

sudo apt-key adv --recv-key --keyserver keyserver.linuxmint.com "missing key"

Alternative Schlüsselserver zum Testen
keyserver.ubuntu.com


214
2018-05-23 09:21



askubuntu.com/a/136735/10998 hat nicht für mich gearbeitet. - nelaaro
Gibt es Sicherheitsbedenken dafür? Ich lade im Grunde nur einen öffentlichen Schlüssel über http, oder? - Ajedi32
@iamcreasy, um Ubuntu-Installationen zu beweisen, dass die Pakete, die Sie installieren, sicher und Malware-frei sind, wird jedes Paket vom Ubuntu-Schlüsselserver signiert. Ihr Installationsprogramm prüft daher, ob das zu installierende Paket von einer vertrauenswürdigen und verifizierten Quelle stammt. Ich habe keine wirklich gute Dokumentation darüber gefunden, aber das könnte helfen [gpg doc] (help.ubuntu.com/community/...) - nelaaro
Ich habe eine Funktion erstellt, benötigte Schlüssel hinzufügen adkeys (){ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$1";} Und um doppelte oder problematische Schlüssel zu entfernen, verwende ich das: grep -ril "pattern" /etc/apt | sudo xargs rm -f - SergioAraujo
ich empfehle --keyserver ha.pool.sks-keyservers.net. Es ist ein Hochverfügbarkeitspool von Schlüsselservern, der Ihre Chance, den gewünschten Schlüssel zu erhalten, erheblich erhöht. - Robin like the bird


Es gibt eine Software namens Y PPA manager Es kann helfen, GPG-Schlüsselfehler zu beheben.
Y PPA-Manager  

Installieren -

sudo add-apt-repository ppa:webupd8team/y-ppa-manager  
sudo apt-get update  
sudo apt-get install y-ppa-manager    

Sobald Sie es installiert haben, starten Sie es, dann gehen Sie zu advance und wählen Sie "Alle fehlenden GPG-Schlüssel importieren"


20
2018-05-03 11:06



Sie müssen sudo zu diesem Befehl hinzufügen! sudo apt-get... - Fih
Das funktionierte auch für mich und ich bin sehr beeindruckt von der sauberen und einfach zu bedienenden Benutzeroberfläche von Y PPA Manager, es war ein schöner Fund, Danke Ashu. - CoalaWeb
Ich habe getan, was du sagst, aber nichts ist passiert. Ich meine, dass ich die App nirgends im Menü finden kann. - Cristiana Nicolae
@CristianaNicolae Nach der Installation finden Sie Y PPA Manager unter Anwendungen> Systemprogramme. - Ashu
Entschuldigung Ashu, ich habe es überprüft und doppelt überprüft. Ich kann es immer noch nicht sehen. Es scheint, dass es irgendwo im System installiert ist, aber aus irgendwelchen Gründen wird es nirgends im Menü angezeigt. - Cristiana Nicolae


Der automatische Download mit apt-key adv --recv-keys funktioniert möglicherweise nicht hinter einer Firewall.

Öffnen Sie in diesem Fall die Webseite von Ubuntu-Schlüsselserver Suchen Sie in Ihrem Webbrowser nach der Zeichenfolge 0x<hexadecimal code of your missing key>.

Öffne den Link in der Kneipe Sektion. Speichere den Schlüsselinhalt (aus -----BEGIN PGP PUBLIC KEY BLOCK----- zu -----END PGP PUBLIC KEY BLOCK-----) als Datei.

Dann renne:

sudo apt-key add <file-with-saved-key>

Quelle: http://opensourceforgeeks.blogspot.in/2013/04/w-gpg-error-httpppalaununchpadnet-precise.html


14
2018-04-29 08:43





Geben Sie zuerst den folgenden Befehl in das Terminal ein

 sudo rm /var/lib/apt/lists/* -vf

Aktualisieren Sie dann Ihr System, indem Sie den folgenden Befehl im Terminal eingeben

 sudo apt-get update && sudo apt-get upgrade

Danach sollte es keine Fehler geben und alles sollte gut funktionieren.


12
2018-05-14 10:26



Danke für die Antwort. Die Lösung für mein Problem war sehr viel einfacher: Typ sudo su bevor ich meinen Befehl oben eingegeben habe - Fih
Das hat dir zwar geholfen, sudo su ist in keiner Weise der richtige Ansatz - in diesem Fall sudo -s Ich hätte getan, was du brauchst. - guntbert
Ich denke, du meintest es sudo rm /var/lib/apt/lists/* -rf (Option "r" statt "v") - Oliboy50
Mit beiden sudo und rm ist gefährlich. Mit beiden rm und * ist gefährlich. Benutze die drei im selben Befehl und ein Hai wird dich oder deine Dateien beißen. - JB.
Das funktioniert nicht für mich. - WiSaGaN


Für Ubuntu 12.04 Präzise: Permanente Lösung

Diese Fehlermeldung tritt auf, nachdem ein neues Repository hinzugefügt und die Repository-Liste aktualisiert wurde. Dies liegt an einem Server, dessen Adresse nicht mehr gültig ist. Ändern Sie die Adresse einfach in eine gute Adresse.

  1. Öffne die Datei ~/.gnupg/gpg.conf mit einem Texteditor.

    Im Terminal: gedit ~/.gnupg/gpg.conf

  2. dann finden Sie in dieser Datei die folgende fett gedruckte Zeile (116. Zeile) (die standardmäßig als Folgen):

    [...]
    Schlüsselserver hkp: //keys.gnupg.net
      # Schlüsselserver mailto: pgp-public-keys@keys.nl.pgp.net
      # Schlüsselserver ldap: //keyserver.pgp.com


  3. füge dann die folgende fettgedruckte Zeile hinzu, um schließlich Folgendes zu geben Ergebnis:

    (Fügen Sie # der zweiten Zeile wie folgt hinzu, um die alte Adresse zu kommentieren)

    [...]
    keyserver http://keyserver.ubuntu.com
    # Schlüsselserver hkp: //keys.gnupg.net
          # Schlüsselserver mailto: pgp-public-keys@keys.nl.pgp.net
          # Schlüsselserver ldap: //keyserver.pgp.com

  4. Speichern Sie die Datei und versuchen Sie erneut zu aktualisieren:

    Im Terminal: sudo apt-get update


10
2017-11-09 00:44





Der einfachste Weg ist mit Y PPA MAnager

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager 

Öffnen Y PPA-Manager von Dash

enter image description here

Geben Sie Ihr Administrator-Passwort ein

enter image description here

Doppelklicken Sie auf Erweiterte Option

enter image description here

Klicken Sie auf Versuchen, alle fehlenden GPG-Schlüssel zu importieren

enter image description here

Klicken Sie auf OK, um es zu beheben


6
2018-05-08 11:08





Basiert auf Antwort von Nelaar:

sudo apt-get update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' |
while read key; do
    echo 'Processing key:' "$key"
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$key"
done

Das Skript speichert alle Fehler in einer temporären Datei und durchläuft sie anschließend, wobei die fehlenden Schlüssel importiert werden.


6
2018-04-13 08:00



Dies sollte die akzeptierte Lösung sein, sehr einfach und schmerzlos zu bedienen. Vielen Dank. - wheeler