Jak opravím chybu GPG "NO_PUBKEY"?

297

Přidala jsem několik náhradních souborů s programem Software Sources. Ale když znovu načte databázi balíčků, dostanu chybu, jako je následující:

  

W: chyba GPG: odkaz důvěryhodný InRelease: Následující podpisy nemohly být ověřeny, protože veřejný klíč není k dispozici: NO_PUBKEY 8BAF9A6F

Vím, že je možné opravit pomocí termináluapt-key, podle oficiální dokumentace Ubuntu. Ale rád bych to udělal graficky. Existuje způsob, jak to udělat bez použití terminálu?

    
dané Agmenor 13.11.2010 21:27

11 odpovědí

191

Zatím nejjednodušší způsob, jak to zvládnout, je nyní s nástrojem Y-PPA Manager (který nyní integruje skriptlaunchpad-getkeys s grafickým rozhraním).

  1. Chcete-li jej nainstalovat, nejprve přidejte repozitář webupd8 pro tento program:

    sudo add-apt-repository ppa:webupd8team/y-ppa-manager
    
  2. Aktualizujte svůj seznam softwaru a nainstalujte Y-PPA-Manager:

    sudo apt-get update
    sudo apt-get install y-ppa-manager
    
  3. Spusťte y-ppa-manager (tj. typy-ppa-manager a pak stiskněte klávesu enter).

  4. Když se zobrazí hlavní okno y-ppa-manager, klikněte na "Pokročilé".

  5. Ze seznamu pokročilých úloh vyberte možnost Zkuste importovat všechny chybějící klíče GPG a klepněte na tlačítko OK.

    Hotovo! Jak se varovný dialog říká při spuštění operace, může to trvat poměrně dlouho (asi 2 minuty) podle toho, kolik PPA máte a rychlosti připojení.

odpověděl monotasker 04.12.2013 16:52
437

Proveďte následující příkazy v terminálu

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

kde<PUBKEY> je vaším chybějícím veřejným klíčem pro repozitář, např. 8BAF9A6F.

Pak aktualizujte

sudo apt-get update

ALTERNAČNÍ METODA:

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

Mějte na paměti, že při importu tohoto klíče pomocí příkazuapt-key říkáte systému, kterému důvěřujete klíči, který importujete, abyste podepsali software, který váš systém bude používat. Nedělejte to, pokud si nejste jisti, že klíč je opravdu klíčem distributora balíků.

    
odpověděl karthick87 28.11.2010 19:49
38

Stává se, když nemáte vhodný veřejný klíč pro repozitář.

Chcete-li vyřešit tento problém, použijte tento příkaz:

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

, který načte klíč ze serveru klíčů ubuntu. A pak toto:

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

, který přidává klíč k použití důvěryhodných klíčů.

Řešení naleznete zde & zde & zde .

    
odpověděl Pedram 28.03.2011 00:31
32

Klíč je třeba získat a importovat.

Chcete-li získat klíč z PPA, navštivte stránku Launchpad PPA. Na každé stránce PPA na webu Launchpad najdete tento odkaz (2), po kliknutí na tlačítko "Technické podrobnosti o tomto PPA" (1):

Postupujte podle něj a klikněte na odkaz ID klíče (3):

Uložte stránku, toto je váš klíčový soubor.

Nyní je čas importovat:

  • Applications > Software Center,
  • Edit > Software sources...,
  • Zadejte heslo,
  • Přejděte na kartuAuthentication a nakonec klikněte naImport Key File...
  • Vyberte soubor uloženého klíče a klikněte naOK.

To je to.

    
odpověděl htorque 13.11.2010 22:04
11

apt může zpracovat pouze 40 kláves v /etc/apt/trusted.gpg.d. 41 a dostanete chybu GPG "žádný veřejný klíč nebyl nalezen", i když procházíte všechny kroky pro přidání chybějícího klíče.

Zkontrolujte, zda v tomto souboru neexistují žádné nepoužité klíče z ppa (s), které již nepoužíváte. Pokud se všechny používají, můžete zvážit odstranění některých souborů ppa spolu s odpovídajícími soubory klíčů v souboru /etc/apt/trusted.gpg.d

Navíc pomocí

sudo apt-key adv

Je považováno za bezpečnostní riziko a nedoporučuje se , jelikož " podkopáváte celý bezpečnostní koncept, protože to není bezpečný způsob získávání klíčů z různých důvodů (například: hkp je otevřený protokol, krátké a dokonce dlouhé klávesy mohou být kované, ...) ". Odkaz

Věřím, že správný způsob přidání chybějících klíče (například 1ABC2D34EF56GH78) je

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

V WebUpd8 PPA je malý skript, který budu propojit jako jediný .deb download, takže nemusíte přidávat celý PPA - který automaticky importuje všechny chybějící GPG klíče.

Stáhněte a nainstalujte Launchpad-getkeys (ignorujte verzi v jeho verzi, pracuje se všemi verzemi Ubuntu od Karmic až po Oneiric). Po instalaci otevřete terminál a zadejte:

sudo launchpad-getkeys

Pokud jste za proxy, věci jsou trochu komplikovanější, takže toto pro více informací

    
odpověděl Alin Andrei 05.06.2011 22:15
4

Při instalaci Heroku jsem se potýkal se stejným problémem. Níže uvedený odkaz vyřešil můj problém -

Odkaz

Po odstranění problémuNO_PUBKEY zůstal problém níže

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

Opravu jsem provedl v terminálu následující příkazy:

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

Zdroj - Odkaz na vyřešení

    
odpověděl dennyac 30.01.2013 18:12
4

Ujistěte se, že máte nainstalovánapt-transport-https:

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

Přidat úložiště:

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 

Nainstalujte Skype pro Linux:

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

Zdroj: Odkaz

    
odpověděl Eduardo Cuomo 27.05.2017 22:00
3

Obecně platí, že následující metoda by měla fungovat pro každé úložiště. Nejprve vyhledejte, s případnou pomocí vyhledávače, text na webových stránkách poskytovatele programu, který vypadá takto:

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

Takový text je například zobrazen na Odkazu . Zkopírujte průchod a vložte jej do prázdného souboru, který vytvoříte na ploše. Výsledkem je klíčový soubor.

Poté pokračujte v importu klíče:

  • Aplikace > Centrum softwaru
  • Upravit > Zdroje softwaru ..., zadejte heslo
  • Kartu ověřování klikněte na 'Import klíčového souboru ...'
  • Vyberte soubor uložených klíče a klikněte na tlačítko "Ok".

Nyní můžete odstranit dříve vytvořený soubor klíče.

    
odpověděl Agmenor 13.11.2010 22:43
2

Dobré! Nakonec jsem našel cestu!

Testoval jsem všechny metody opravy chyby GPG NO_PUBKEY a nic mi nefungovalo.

Odstranil jsem celý obsah složky /etc/apt/trusted.gpg.d

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

Používám metodu Správce Y-PPA , protože jsem příliš líný, abych vytvořil všechny pubky ručně (příliš mnoho): Odkaz

spusťte sudo apt-get znovu a nakonec vše funguje skvěle! Tanky!

Zdroj založen: příspěvek # 17 na Odkaz

    
odpověděl NeurOSick 08.04.2015 15:36
1

Měl jsem stejný problém s klientem aktualizace DynDNS.

Ukázalo se, že to bylo pouhé vypršení klíče.

Oprava problému byla opravena instalací softwaru (stahování nového.deb z webu a poté pomocí softwarového centra k opětovnému instalaci).

Chybová zpráva pro odkaz:

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