Vraag Hoe ontbrekende GPG-sleutels te herstellen?


Ik heb zojuist Ubuntu 12.04 geïnstalleerd en ik heb wat repo toegevoegd, en toen ik dat deed apt-get update, Ik heb de gpg-sleutel verloren.

Het volgende commando lijkt niet voor mij te werken:

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

Hoe dit probleem op te lossen?


145
2018-04-28 22:26


oorsprong


Het zou goed zijn als de antwoorden op deze vraag bevatten waarom deze fout zich in de eerste plaats voordoet en wat u moet doen om dit in de toekomst te voorkomen. - Flimm
Ik heb mijn probleem opgelost met behulp van Y-ppa-manager. Met dank aan Ashu voor de oplossing!
Gedetailleerde oplossing met screenshots opensourceforgeeks.blogspot.in/2013/04/... - Aniket Thakur
Verwant: askubuntu.com/q/13065/178596 - Wilf


antwoorden:


Ik vond deze oplossing leuk, download de ontbrekende sleutels van de Ubuntu-sleutelserver opnieuw.

Voor Ubuntu

In mijn geval

 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 is de opdracht om de ontbrekende sleutel toe te voegen die in het foutbericht wordt genoemd.

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

Dus ik neem de ontbrekende sleutel 2EA8F35793D8809A en vraag de keyserver.ubuntu.com om het toe te voegen aan de lijst met sleutels die ik heb in apt.

Voor linux mint
Jouw sleutelserver is iets anders keyserver.linuxmint.com

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

Alternatieve sleutelservers om te proberen
keyserver.ubuntu.com


214
2018-05-23 09:21



askubuntu.com/a/136735/10998 werkte niet voor mij. - nelaaro
Zijn er veiligheidsimplicaties om dit te doen? Ik download eigenlijk gewoon een openbare sleutel via http, toch? - Ajedi32
@iamcreasy, om aan Ubuntu-installaties te bewijzen dat de pakketten die u installeert veilig en malware-vrij zijn, wordt elk pakket ondertekend door de ubuntu-sleutelserver. Uw installateur controleert dus of het pakket dat u installeert afkomstig is van een vertrouwde en geverifieerde bron. Ik heb geen echt goede documentatie gevonden, maar dit kan [gpg doc] helpen (help.ubuntu.com/community/...) - nelaaro
Ik heb een functie gemaakt, voeg de benodigde toetsen toe adkeys (){ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$1";} En om gedupliceerde of problematische sleutels te verwijderen, gebruik ik dit om dit te doen: grep -ril "pattern" /etc/apt | sudo xargs rm -f - SergioAraujo
ik raad aan --keyserver ha.pool.sks-keyservers.net. Het is een pool van zeer toegankelijke servers met hoge beschikbaarheid, die uw kans op het verkrijgen van de gewenste sleutel aanzienlijk vergroot. - Robin like the bird


Er is een software genaamd as Y PPA manager Het kan helpen GPG-sleutels fouten op te lossen.
Y PPA-manager  

Installeren -

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

Zodra u het hebt geïnstalleerd, start u het en gaat u naar advance en selecteer "importeer alle ontbrekende GPG-sleutels"


20
2018-05-03 11:06



U moet sudo aan deze opdracht toevoegen! sudo apt-get... - Fih
Dit werkte ook voor mij en ik ben erg onder de indruk van de schone, gemakkelijk te gebruiken interface van Y PPA Manager. Het was een leuke vondst, bedankt Ashu. - CoalaWeb
Ik deed wat je zei, maar er gebeurde niets. Ik bedoel dat ik de app nergens in het menu kan vinden. - Cristiana Nicolae
@CristianaNicolae Na de installatie kunt u Y PPA Manager vinden onder Toepassingen> Systeemwerkset. - Ashu
Sorry Ashu, ik heb het gecontroleerd en dubbel gecontroleerd. Ik kan het daar nog steeds niet zien. Het lijkt erop dat het ergens in het systeem is geïnstalleerd, maar om sommige redenen wordt het nergens in het menu weergegeven. - Cristiana Nicolae


De automatische download met apt-key adv --recv-keys werkt mogelijk niet achter een firewall.

Open in dit geval de webpagina van Ubuntu Key Server in uw webbrowser en zoek naar de tekenreeks 0x<hexadecimal code of your missing key>.

Open de link in de kroeg sectie. Sla de belangrijkste inhoud op (van -----BEGIN PGP PUBLIC KEY BLOCK----- naar -----END PGP PUBLIC KEY BLOCK-----) als een bestand.

Voer dan uit:

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

Bron: http://opensourceforgeeks.blogspot.in/2013/04/w-gpg-error-httpppalaunchpadnet-precise.html


14
2018-04-29 08:43





voer eerst de volgende opdracht in de terminal in

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

werk dan uw systeem bij door de volgende opdracht in de terminal in te voeren

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

daarna zouden er geen fouten mogen zijn en zou alles goed moeten werken.


12
2018-05-14 10:26



thx voor antwoord. De oplossing voor mijn probleem was veel eenvoudiger: type sudo su voordat je mijn bovenstaande opdracht typt - Fih
Hoewel dat je heeft geholpen, sudo su is op geen enkele manier de juiste aanpak - in dit geval sudo -s zou hebben gedaan wat je nodig had. - guntbert
Ik denk dat je meende sudo rm /var/lib/apt/lists/* -rf (optie "r" in plaats van "v") - Oliboy50
Beide gebruiken sudo en rm is gevaarlijk. Beide gebruiken rm en * is gevaarlijk. Gebruik de drie in dezelfde opdracht en een haai zal je bijten, of je bestanden. - JB.
Dit werkt niet voor mij. - WiSaGaN


Voor Ubuntu 12.04 Precieze: permanente oplossing

naar dit foutbericht dat verschijnt na het toevoegen van een nieuwe repository en het bijwerken van de repositorylijst. Dit komt door een server welk adres niet meer geldig is. Dus verander gewoon het adres naar een goed adres.

  1. Open het bestand ~/.gnupg/gpg.conf met een teksteditor.

    In terminal: gedit ~/.gnupg/gpg.conf

  2. Zoek in dit bestand de volgende vetgedrukte regel (116e regel) (die standaard moet zijn als volgen):

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


  3. voeg vervolgens de volgende vetgedrukte regel toe om uiteindelijk het volgende te geven resultaat:

    (voeg # toe aan de tweede regel als volgt om het oude adres weg te laten)

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

  4. Sla het bestand op en probeer het opnieuw te updaten:

    In terminal: sudo apt-get update


10
2017-11-09 00:44





De meest eenvoudigste manier is met Y PPA-manager

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

Open Y PPA Manager van Dash

enter image description here

Voer uw beheerderswachtwoord in

enter image description here

Dubbelklik op geavanceerde optie

enter image description here

Klik op Probeer alle ontbrekende GPG-sleutels te importeren

enter image description here

Klik op OK om het te repareren


6
2018-05-08 11:08





Gebaseerd op nelaar antwoord:

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

Het script dumpt alle fouten in een tijdelijk bestand en doorloopt ze vervolgens, waarbij de ontbrekende sleutels worden geïmporteerd.


6
2018-04-13 08:00



Dit zou de geaccepteerde oplossing moeten zijn, zeer eenvoudig en pijnloos in gebruik. Dank je. - wheeler


Voer eerst de volgende opdracht in de terminal in

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

werk dan uw systeem bij door de volgende opdracht in de terminal in te voeren

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

daarna zouden er geen fouten mogen zijn en zou alles goed moeten werken.


4
2018-02-18 01:34





Ik ben hetzelfde probleem tegengekomen door een ppa toe te voegen (ppa:nathandyer/vocal-stable), het brak mijn opslagplaatsen. Ik werd begeleid door de auteur van Web Upd8, over hoe ik dit kan proberen op te lossen, hier zijn zijn stappen die me hebben geholpen.

Maak een backup van je .gpg sleutels, voor het geval er iets misgaat.

Laten we een map maken waarin we onze back-up zullen onderbrengen.

  • mkdir ~/gpg-backups

    Hiermee wordt een back-up gemaakt van alle bestanden in de /etc/apt/trusted.gpg.d/ map.

  • sudo cp /etc/apt/trusted.gpg.d/*.* ~/gpg-backups/

Nu zullen we alle verwijderen .gpg sleutels.

  • sudo rm /etc/apt/trusted.gpg.d/

  • sudo cp /etc/apt/trustdb.gpg ~/gpg-backups/

  • sudo rm /etc/apt/trustdb.gpg 

in Software & Updates, klik je op het tabblad "Verificatie" op "Standaardwaarden herstellen"

Installeer y-ppa manager om alle ontbrekende GPG-sleutels te importeren

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

Referentie:


1
2018-04-22 19:14



Eén regel lijkt een fout te bevatten sudo rm /etc/apt/trusted.gpg.d/*. Het weglaten van de * bij EOL is niet mogelijk, omdat u niet-lege mappen niet kunt verwijderen met rm wanneer de -r optie is niet gespecificeerd .-- Ah, en je kunt 2 vogels doden met 1 steen aan de lijn sudo mv /etc/apt/trustdb.gpg ~/gpg-backups/. Omdat als jij verhuizing het bestand, dat hoeft niet rm het bronbestand achteraf. - syntaxerror


Ik wilde dit soort fouten automatisch herstellen in een bash-script. Voor iedereen die geïnteresseerd is, zou dit het volgende moeten doen:

sudo apt-get update 2> /tmp/keymissing
if [ -f /tmp/keymissing ]
then
    for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //")
        do 
        echo -e "\nProcessing key: $key"
        sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
        sudo apt-get update
    done
    rm /tmp/keymissing
fi

1
2018-05-01 11:10





Wat voor mij werkte was om de sleutel eerst te verwijderen en vervolgens opnieuw te installeren. Om dat te bereiken deed ik het volgende:

root@ > ~: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 630239CC130E1A7FD81A27B140976EAF437D05B5

verwijderen met

root@ > ~: sudo apt-key del 630239CC130E1A7FD81A27B140976EAF437D05B5

Installeer vervolgens opnieuw door te typen

root@ > ~: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 630239CC130E1A7FD81A27B140976EAF437D05B5                                       

1
2018-04-27 15:47