Comment réparer l'erreur GPG "NO_PUBKEY"?

292

J'ai ajouté des référentiels supplémentaires avec le programme Sources de logiciels. Mais quand je recharge la base de données de paquets, je reçois une erreur comme celle-ci:

  

W: erreur GPG: lien fiable InRelease: les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible: NO_PUBKEY 8BAF9A6F

Je sais que je peux le réparer en utilisant apt-key dans un terminal, selon la documentation officielle d'Ubuntu. Mais j'aurais aimé le faire graphiquement. Est-il possible de le faire sans utiliser de terminal?

    
posée Agmenor 13.11.2010 - 21:27
la source

11 réponses

187

Le moyen le plus simple de gérer cela est de loin avec Y-PPA-Manager (qui intègre désormais le script launchpad-getkeys avec une interface graphique).

  1. Pour l'installer, ajoutez d'abord le référentiel webupd8 de ce programme:

    sudo add-apt-repository ppa:webupd8team/y-ppa-manager
    
  2. Mettez à jour votre liste de logiciels et installez Y-PPA-Manager:

    sudo apt-get update
    sudo apt-get install y-ppa-manager
    
  3. Exécutez y-ppa-manager (c'est-à-dire tapez y-ppa-manager puis appuyez sur la touche Entrée).

  4. Lorsque la fenêtre principale de y-ppa-manager apparaît, cliquez sur "Avancé".

  5. Dans la liste des tâches avancées, sélectionnez "Essayez d'importer toutes les clés GPG manquantes" et cliquez sur OK.

    Vous avez terminé! Comme l'indique la boîte de dialogue d'avertissement lorsque vous lancez l'opération, cela peut prendre un certain temps (environ 2 minutes pour moi) en fonction du nombre de vos PPA et de la vitesse de votre connexion.

réponse donnée monotasker 04.12.2013 - 16:52
la source
429

Exécutez les commandes suivantes dans le terminal

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

<PUBKEY> est votre clé publique manquante pour le référentiel, par exemple 8BAF9A6F .

Puis mettre à jour

sudo apt-get update

MÉTHODE ALTERNATIVE:

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

Notez que lorsque vous importez une clé comme celle-ci en utilisant apt-key , vous indiquez au système que vous faites confiance à la clé que vous importez pour signer les logiciels que votre système utilisera. Ne le faites pas, sauf si vous êtes sûr que la clé est vraiment la clé du distributeur de paquets.

    
réponse donnée karthick87 28.11.2010 - 19:49
la source
38

Cela se produit lorsque vous n’avez pas de clé publique appropriée pour un référentiel.

Pour résoudre ce problème, utilisez cette commande:

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

qui récupère la clé du serveur de clés Ubuntu. Et puis ceci:

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

qui ajoute la clé à apt clés fiables.

La solution peut être trouvée ici . ici ici .

    
réponse donnée Pedram 28.03.2011 - 00:31
la source
32

Vous devez obtenir et importer la clé.

Pour obtenir la clé d’un PPA, visitez la page Launchpad du PPA. Sur chaque page PPA de Launchpad, vous trouverez ce lien (2), après avoir cliqué sur «Détails techniques sur ce PPA» (1):

Suivez-le et cliquez sur le lien ID de clé (3):

Enregistrez la page, ceci est votre fichier de clé.

Maintenant, il est temps de l’importer:

  • Applications > Software Center ,
  • Edit > Software sources... ,
  • Entrez votre mot de passe,
  • Accédez à l’onglet Authentication et cliquez sur Import Key File... , enfin
  • Sélectionnez le fichier de clé enregistré et cliquez sur OK .

C'est ça.

    
réponse donnée htorque 13.11.2010 - 22:04
la source
11

apt ne peut gérer que 40 clés dans /etc/apt/trusted.gpg.d. 41 touches et vous obtiendrez l'erreur GPG "aucune clé publique trouvée" même si vous passez par toutes les étapes pour ajouter les clés manquantes.

Vérifiez si ce fichier contient des clés inutilisées de ppa (s) que vous n’utilisez plus. Si tous sont utilisés, envisagez de supprimer certains fichiers ppa avec les fichiers de clés correspondants dans /etc/apt/trusted.gpg.d

En outre, en utilisant

sudo apt-key adv

Est considéré comme un risque de sécurité et n'est pas recommandé car vous "ébranlez tout le concept de sécurité car ce n’est pas un moyen sécurisé de recevoir des clés pour diverses raisons (comme: hkp est un le protocole de texte en clair, les keyids courts et même longs peuvent être forgés, ...) ". lien

Je crois que la bonne façon d’ajouter les clés manquantes (par exemple 1ABC2D34EF56GH78) est

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1ABC2D34EF56GH78
gpg --export --armor 1ABC2D34EF56GH78 | sudo apt-key add -
    
réponse donnée mchid 08.08.2014 - 00:33
la source
8

Il existe un petit script contenu dans le PPA WebUpd8 que je lierai sous la forme d'un seul téléchargement .deb, vous n'avez donc pas à ajouter le PPA complet - qui importe automatiquement toutes les clés GPG manquantes.

Téléchargez et installez Launchpad-getkeys (ignorez le ~ natty dans sa version, il fonctionne avec toutes les versions d'Ubuntu de Karmic jusqu'à Oneiric). Une fois installé, ouvrez un terminal et tapez:

sudo launchpad-getkeys

Si vous êtes derrière un proxy, les choses sont un peu plus compliquées, alors voyez this pour plus d'informations

    
réponse donnée Alin Andrei 05.06.2011 - 22:15
la source
4

J'ai rencontré le même problème lors de l'installation d'Heroku. Le lien ci-dessous a résolu mon problème -

lien

Après avoir corrigé le problème de NO_PUBKEY , le problème ci-dessous est resté

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

Pour résoudre ce problème, j'ai exécuté les commandes suivantes dans le terminal:

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

Source - Lien pour le résoudre

    
réponse donnée dennyac 30.01.2013 - 18:12
la source
4

Assurez-vous que apt-transport-https est installé:

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

Ajouter un référentiel:

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 

Installez Skype pour Linux:

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

Source: lien

    
réponse donnée Eduardo Cuomo 27.05.2017 - 22:00
la source
3

Plus généralement, la méthode suivante devrait fonctionner pour chaque référentiel. Tout d'abord rechercher, avec l'aide éventuelle d'un moteur de recherche, un texte sur le site Web du fournisseur du programme ressemblant à ceci:

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

Un tel texte est par exemple affiché sur lien . Copiez le passage, collez-le dans un fichier vide que vous créez sur votre bureau. Cela se traduit par le fichier de clé.

Puis continuez l’importation de la clé:

  • Applications & gt; Centre de logiciels
  • Modifier & gt; Sources de logiciels ..., entrez le mot de passe
  • Onglet Authentification, cliquez sur 'Import Key File ...'
  • Sélectionnez le fichier de clé enregistré et cliquez sur 'Ok'.

Vous pouvez maintenant supprimer le fichier de clé créé précédemment.

    
réponse donnée Agmenor 13.11.2010 - 22:43
la source
2

Bien! J'ai finalement trouvé le chemin!

J'ai testé toutes les méthodes pour corriger l'erreur GPG NO_PUBKEY et rien ne fonctionnait pour moi.

J'ai supprimé tout le contenu du dossier /etc/apt/trusted.gpg.d

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

Et j'utilise la méthode Y-PPA-Manager parce que je suis trop paresseux pour créer manuellement toutes les pubs (trop): lien

Exécuter à nouveau sudo apt-get update et tout fonctionne parfaitement maintenant! Tanks!

Source basée: poste n ° 17 sur lien

    
réponse donnée NeurOSick 08.04.2015 - 15:36
la source
1

J'ai eu le même problème avec le client Updater de DynDNS.

Il s'avère que c'était juste des clés expirées.

La réinstallation du logiciel (téléchargement d’un nouveau .deb à partir du site Web, puis utilisation de Software Center pour le réinstaller) a résolu le problème.

Message d'erreur pour référence:

W: GPG error: http://cdn.dyn.com stable/ Release: The following signatures were invalid: KEYEXPIRED 141943.......
    
réponse donnée Cranky 08.01.2015 - 17:53
la source

Lire d'autres questions sur les étiquettes