W: GPG-Fehler: http://ppa.launchpad.net genaue Version: Die folgenden Signaturen konnten nicht überprüft werden, da der öffentliche Schlüssel nicht verfügbar ist:


44

Ich erhalte die folgende Fehlermeldung, wenn ich tue sudo apt-get update

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 6AF0E940624A220

Nachdem ich hier verschiedene Fragen gelesen hatte und auch googelte, versuchte ich es auf folgende Arten.

Ich habe es versucht

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6AF0E1940624A220

Es hat nicht geholfen. Ich habe es auch versucht

sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys

Thinking Port 11371 (Standard) ist möglicherweise aufgrund einer Firewall blockiert.

Ich habe auch versucht, alles wie folgt zurückzusetzen

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update && sudo apt-get upgrade

Trotzdem bekomme ich den gleichen Fehler oder bekomme ein Update. Jede andere mögliche Lösung, die ich versuchen kann?


Haben Sie alle Lösungen hier ausprobiert? askubuntu.com/questions/13065/…
fossfreedom

Versuchen Sie:$ sudo apt-key adv --keyserver-options http-proxy=<proxy-server> --keyserver keyserver.ubuntu.com --recv 6AF0E1940624A220
Marslo

Antworten:


77

Der zweite in diesem Link erwähnte Ansatz hat für mich funktioniert. Laden Sie den Schlüssel manuell herunter und fügen Sie ihn hinzu. Hoffe das hilft auch anderen.


Der obige Link bietet eine detaillierte Erklärung mit Screenshots. Es gibt auch einige andere einfache Methoden, die Sie ausprobieren können, bevor Sie dies manuell tun. Da es von einigen Regionen aus nicht zugänglich ist, beschreibe ich die Methode, die bei mir funktioniert hat: Youtube .

  1. Gehen Sie auf die OpenPGP Public Key Server . Dort können Sie Ihren Schlüssel in das Search StringFeld eingeben , alles andere so lassen, wie es ist, und dann auf "Suchen!" Klicken. Stellen Sie bei der
    Suche nach einem Schlüssel immer den Schlüssel voran0x ! Dies bedeutet, dass Sie zum Beispiel suchen müssen, 0x6AF0E1940624A220anstatt 6AF0E1940624A220.
  2. Klicken Sie auf den im pubAbschnitt angegebenen Link . Dies sollte Sie zu einer Seite mit dem Schlüssel führen. Die Überschrift der Seite sollte ähnlich seinPublic Key Server -- Get "0x6AF0E1940624A220"
  3. Kopieren Sie alles von unterhalb des Titels (ab -----BEGIN PGP PUBLIC KEY BLOCK-----) und speichern Sie es in einer Datei (zB key1).
  4. Sobald Sie die Datei haben, führen Sie den folgenden Befehl aus

    sudo apt-key add key1
    

Sie erhalten eine "OK" Antwort.

Und du bist fertig. Wiederholen Sie den Vorgang für andere möglicherweise fehlende Schlüssel.


Darf ich Sie bitten, diesen Link hier zu beschreiben. Es hat für unser Land gefiltert.
shgnInc

@shgnInc hat den entsprechenden Teil hinzugefügt.
Aniket Thakur

2
Vielen Dank.
ShgnInc

Für die Bash-Befragten (die meisten von uns!) Gibt es hier ein Skript, das Sie in eine Bash-Shell einfügen und die Eingabetaste drücken können, um dieses Problem für alle Schlüssel zu beheben: sudo apt-get update 2> & 1 | \ grep NO_PUBKEY | \ sed -e ' s? ^. * NO_PUBKEY ?? ' | \ während _hash gelesen wird; \ wget -O- " keyserver.ubuntu.com/pks/lookup?op=get&search=0x$ {_hash}" | \ sudo apt-key add -; erledigt
Michael Mikowski

Ubuntu Befehl: $ sudo apt-key adv --keyserver-options http-proxy=<myProxy> --keyserver keyserver.ubuntu.com --recv <MISSED_PUBKEY_NUMBER>. Zum Beispiel für 6AF0E1940624A220, sollte der Befehl: $ sudo apt-key adv --keyserver-options http-proxy=<proxy_server> --keyserver keyserver.ubuntu.com --recv 6AF0E1940624A220. Inspiriert von superuser.com/a/784913/112396
Marslo

1

Dies ist eine vereinfachte Version von Anikets Antwort:

for fingerprint in 40976EAF437D05B5 3B4FE6ACC0B21F32; do
  curl "http://keyserver.ubuntu.com/pks/lookup?op=get&fingerprint=on&search=0x$fingerprint" | \
    awk '/-----BEGIN PGP/{p=1} /-----END PGP/{print; p=0} p==1{print}' > key.txt;
  sudo apt-key add key.txt;
done

Fügen Sie in die erste Zeile so viele Schlüssel ein, wie Sie benötigen.

Ich habe überflüssige Semikolons eingefügt, damit Sie diese als Einzeiler in eine einfügen können Dockerfile. Ich habe keine Ahnung, warum früher funktionierende Containerbauten dies jetzt erfordern. Ich habe diesen Fehler vor diesem Fix erhalten:

W: GPG error: http://deb.nodesource.com trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1655A0AB68576280
W: GPG error: http://archive.ubuntu.com trusty-updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://archive.ubuntu.com trusty-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://security.ubuntu.com trusty-security InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://archive.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.