Erreur lors d'un update: NO PUBKEY

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche

Problèmes de Clés GPG lors des updates

Comprendre de quoi il s'agit

Les paquets Debian sont signés, c'est-à-dire que les mainteneurs des paquets Debian ajoutent un petit fichier (une signature) pour garantir aux utilisateurs que nous sommes que les paquets qu'ils sont en train d'installer sont bien créés par les mainteneurs et non par des pirates.

Le système fonctionne avec un ensemble de signatures que l'on considère comme fiables (dignes de confiance) qui sont stockées dans le trousseau ou porte-clés. Debian installe par défaut les signatures officielles Debian.

L'erreur NO PUBKEY indique qu'un dépôt de paquet utilise une clé (des signature) que vous ne considérez pas comme digne de confiance.

Si vous savez que la clé en question est digne de confiance, par exemple si vous venez d'ajouter un nouveau dépôt, alors vous pouvez appliquer l'une des procédures suivantes afin d'indiquer que vous faites confiance à cette nouvelle clé.

Ajout automatique de clé

Pour ajouter une clé d'un dépôt que l'on vient d'installer, le moyen recommandé consiste à installer le paquet de ce dépôt dont le nom finit par -keyring. Cette solution présente le double intérêt d'être simple et de permettre aussi aux mainteneurs du dépôt de mettre à jour leur clé plus facilement : ils peuvent prévoir une période de transition durant laquelle ils enverront une mise à jour de ce paquet qui installera la nouvelle clé et retirera la précédente.

Deb-multimedia

Si l'erreur apparaît lorsque vous venez d'ajouter le dépôt deb-multimedia.org, vous devriez installer le paquet deb-multimedia-keyring.

W: GPG error: http://www.deb-multimedia.org squeeze Release: Les signatures suivantes n'ont
pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 07DC563D1F41B907
# apt-get install deb-multimedia-keyring
# apt-get update

Source : deb-multimedia.org

The first package to install is deb-multimedia-keyring.
Since Squeeze you can install this package with apt-get but you need
to presse Y when the package ask what to do and do not press return.
An new “apt-get update” is also necessary.

Mozilla Debian

Dans Debian unstable et les backports, installez le paquet suivant : pkg-mozilla-archive-keyring Il faut utiliser (à ce jour 25/01/2013) la version 1.1, avec la version 1 (ou sans le paquet) vous aurez droit à ce genre de message :

W: GPG error: http://mozilla.debian.net squeeze-backports Release: The
following signatures were invalid: KEYEXPIRED 1352888501

Ajout manuel de la clé

Il s'agit ici d'indiquer que vous faites confiance à un dépôt pour installer des logiciels sur votre ordinateur. Attention, c'est une question à ne pas prendre à la légère car il pourrait très bien installer des versions vérolées des logiciels sur votre ordinateur.

Il est conseillé de vérifier la clé que vous allez ajouter à votre système. Il faut vous assurer qu'elle est digne de confiance.

Pour cela il faut aller sur le site du dépôt que vous venez d'ajouter, par exemple http://deb-multimedia.org/ Dans la faq vous trouvez une question qui parle des clé PGP et la réponse donne l'identifiant de la clé (une suite de 8 caractères entre 0 et 9 et entre A et F).

C'est cette clé qu'il faut ajouter à votre trousseau.

Ajoutez la clé à votre porte-clés personnel depuis un serveur sûr :

# gpg --keyserver pgpkeys.mit.edu --recv-key 01234567

Exportez cette clé dans le système APT :

# gpg -a --export 01234567 | apt-key add -

Vérification supplémentaire

Lorsque l'erreur ci-dessous survient :

W: GPG error: <url d'un dépôt> Release: The following signatures couldn't be
verified because the public key is not available: NO_PUBKEY XXXXXXXX01234567

Les huit derniers éléments de la clé doivent correspondre à l'identifiant que vous trouvé sur le site du dépôt.

Un script pour se simplifier la vie

Merci à Ggoodluck47 pour sa contribution.

Version utilisateur

Cette version du script nécessite d'avoir le paquet sudo installé sur votre système ainsi que l'utilisateur déclaré dans le fichier sudoers.

#!/usr/bin/env bash
# Ajouter une clé GPG au porte-cles
# Utiliser gpgkeys pour gérer la suppression
echo "coller la clef (8 caractères)"
read cle
gpg --keyserver pgpkeys.mit.edu --recv-key $cle
gpg -a --export $cle | sudo apt-key add -

Version root

Cette version du script est à lancer en root et ne nécessite pas le paquet sudo.

#!/usr/bin/env bash
# Ajouter une clé GPG au porte-cles
# Utiliser gpgkeys pour gérer la suppression
echo "coller la clef (8 caractères)"
read cle
gpg --keyserver pgpkeys.mit.edu --recv-key $cle
gpg -a --export $cle | apt-key add -

En cas de problème avec une clé pourtant bien installée

Il peut arriver qu'une clé pourtant bien installée vous pose un problème, et vous donne une erreur comme celle-ci :

W: GPG error: http://www.deb-multimedia.org squeeze Release: Les signatures suivantes
ne sont pas valables : BADSIG 07DC563D1F41B907 Christian Marillat <marillat@debian.org>

Dans ce cas il faudra enlever la clé du porte-clés et la réinstaller.

On enlève la clé "fautive" :

# apt-key del 1F41B907
OK

On la réinstalle :

# gpg --keyserver pgpkeys.mit.edu --recv-key 1F41B907
gpg: requête de la clé 1F41B907 du serveur hkp pgpkeys.mit.edu
gpg: clé 1F41B907: « Christian Marillat <marillat@debian.org> » 4 nouvelles signatures
gpg: aucune clé de confiance ultime n'a été trouvée                                   
gpg:        Quantité totale traitée: 1                                                
gpg:           nouvelles signatures: 4
# gpg -a --export 1F41B907 | apt-key add -
OK

Le fil sur le forum



Source sur forum.debian-fr.org

Documentation extérieure : Debian.org



--Lol 31 mars 2010 à 05:19 (UTC)