498 votes

Comment corriger l'erreur GPG "NO_PUBKEY" ?

J'ai ajouté quelques dépôts supplémentaires avec le programme Software Sources. Mais lorsque je recharge la base de données des paquets, j'obtiens une erreur comme la suivante :

W : Erreur GPG : http://ppa.launchpad.net trusty 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. Existe-t-il un moyen de le faire sans utiliser un terminal ?

0 votes

0 votes

Une "moyenne" ? Je suis curieux de savoir ce que vous entendez par là.

1 votes

Vous pouvez vérifier ceci Fil conducteur pour la solution. Lien vers site connexe

797voto

Rob Gray Points 1556

Exécutez les commandes suivantes dans le terminal

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

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

Ensuite, mettez à 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 à l'aide de apt-key vous indiquez au système que vous faites confiance à la clé que vous importez pour signer le logiciel que votre système utilisera. Ne faites pas cela à moins d'être sûr que la clé est réellement celle du distributeur du paquet.

1 votes

L'homme comment inverser cette commande il fait beaucoup d'Ign et ne fonctionne pas voir ce : img688.imageshack.us/img688/6885/igny.png

2 votes

@Naruto C'est normal. Cela signifie que n'a pas changé sur le serveur.

14 votes

Vous pouvez simplement passer NO_PUBKEY valeur comme paramètre des clés. par exemple GPG error[...]NO_PUBKEY 3766223989993A70 => sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3766223989993A70

255voto

monotasker Points 3525

La façon la plus simple de gérer cela est de loin avec Y-PPA-Manager (qui intègre maintenant la fonction launchpad-getkeys script avec une interface graphique).

  1. Pour l'installer, ajoutez d'abord le dépôt 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 du y-ppa-manager apparaît, cliquez sur "Avancé".

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

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

0 votes

Pour info, lors de l'ajout du dépôt, le lien webupd8.org/2010/11/y-ppa-manager-easily-search-add-remove.html est affiché pour plus d'informations.

35 votes

Pas vraiment utile dans un serveur web, car cela installe X11. N'utilisez pas cette méthode si vous êtes sur une édition serveur, consultez la réponse de karthick87 !

0 votes

Sudo apt-get update produit une erreur : W : Erreur GPG : ppa.launchpad.net trusty InRelease : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 089EBE08314DF160

71voto

Pedram Points 5293

Cela se produit lorsque vous ne disposez pas d'une 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é depuis le serveur de clés ubuntu. Et puis ça :

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

qui ajoute la clé à apt trusted keys.

La solution peut être trouvée aquí & aquí & aquí .

4 votes

Si le hkp://keyserver.ubuntu.com ne fonctionne pas, utilisez ceci pgpkeys.mit.edu serveur.

2 votes

Cette réponse a résolu mon problème avec le référentiel Kylin. La méthode de saisie du pinyin de sogou a ajouté de la source à mon /etc/apt/sources.list.d/ mais n'a apparemment pas importé la clé gpg. Bonne réponse, simple et précise, +1

1 votes

Merci ! Cela a fonctionné pour moi afin de résoudre le problème du dépôt php.

38voto

Maciek Gryka Points 1807

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 "Technical details about this PPA" (1) :

image 1

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

image 2

Enregistrez la page, c'est votre fichier clé.


Il est maintenant temps de l'importer :

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

1 votes

Ne perdez pas votre temps, voyez la réponse ci-dessous.

5 votes

@FelipeMicaroniLalli, la question était de savoir comment ajouter une clé publique en utilisant l'interface graphique, pas le terminal, donc cette réponse était parfaite.

0 votes

C'est beaucoup Il est maintenant plus facile et plus rapide de faire cela avec y-ppa-manager (également une application gui). Voir ma réponse ci-dessous.

15voto

mchid Points 36939

Apt ne peut gérer que 40 clés dans /etc/apt/trusted.gpg.d . 41 clés et vous obtiendrez l'erreur GPG "no public key found" même si vous suivez toutes les étapes pour ajouter la ou les clés manquantes.

Vérifiez s'il y a des clés inutilisées dans ce fichier provenant de ppa(s) que vous n'utilisez plus. Si toutes sont utilisées, envisagez de supprimer certains ppa(s) ainsi que les fichiers de clés correspondants dans /etc/apt/trusted.gpg.d

En outre, l'utilisation de

sudo apt-key adv

est considéré comme un risque pour la sécurité et n'est pas recommandé comme vous êtes " compromettre l'ensemble du concept de sécurité, car ce n'est pas un moyen sûr de recevoir des clés pour diverses raisons (par exemple, le protocole hkp est un protocole en clair, les identifiants courts et même longs peuvent être falsifiés, etc.) ". http://ubuntuforums.org/showthread.php?t=2195579

Je crois que la manière correcte d'ajouter les clés manquantes (par exemple 1ABC2D34EF56GH78) est la suivante

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1ABC2D34EF56GH78
gpg --export --armor 1ABC2D34EF56GH78 | sudo apt-key add -

1 votes

J'ai trouvé plus simple de supprimer toutes les clés de /etc/apt/trusted.gpg.d et de passer ensuite à la réponse acceptée. askubuntu.com/a/386003/284664

0 votes

@mchid Pouvez-vous citer un document/url qui parle de cette limite de 41 clés ?

0 votes

@SebMa Le lien est posté dans ma réponse et fait référence à un bug dans Debian qui a été impacté par cette limite. Voici une ancre vers le post réel dans le lien qui mentionne ceci : ubuntuforums.org/showthread.php?t=2195579#post_message_12882784 Je ne sais pas s'il existe une documentation à ce sujet, mais le chiffre 40 a peut-être été utilisé parce que "40" se traduit par "beaucoup" dans de nombreuses langues.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X