Signature des dépôts ou Erreur GPG pendant apt-get update

Si comme moi vous avez ajouté des nouveaux dépôts à votre source list sous debian (ici lenny), il se peut qu’après avoir effectué un apt-get update vous ayez des erreurs de clé de type GPG. Pour ma part, cela s’est produit avec le populaire dépôt de debian-multimedia.org :

Ajouter dans /etc/apt/sources.list les fameux dépôts multimedia :

deb http://www.debian-multimedia.org stable main

deb http://www.debian-multimedia.org etch main

deb http://www.debian-multimedia.org sid main

Donc après un

apt-get update

vous allez avoir ce genre de message :

Lecture des listes de paquets... Fait
W: GPG error: http://www.debian-multimedia.org sid Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY <votre cle>
W: Vous pouvez lancer «apt-get update» pour corriger ces problèmes.

Tout ce dont nous avons besoin est le paquet gnupg :

apt-get install gnupg

A ce stade, nous sommes devant un dépôt reconnu de debian et sur lequel nous avons toute confiance. On peut donc ajouter la clé GPG à l’utilitaire apt pour cette source. Nous allons la récupérer depuis le serveur de clés :

gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys <votre clé>

Il faut bien entendu remplacer <votre clé> par celle qui apparait dans votre message d’erreur, pour ma part 07DC563D1F41B907 :

gpg: requete de la cle 1F41B907 du serveur hkp wwwkeys.eu.pgp.net
gpg: /root/.gnupg/trustdb.gpg: base de confiance creee
gpg: cle 1F41B907: cle publique « Christian Marillat <marillat@debian.org> » importee
gpg: aucune cle de confiance ultime n'a ete trouvee
gpg:        Quantite totale traitée: 1
gpg:                       importée: 1

A ce stade la clé est importée, il faut maintenant l’intégrer à APT :

gpg --armor --export <votre clé> | apt-key add -

C’est terminé. Le dépôt sera signé tant que ce dernier ne changera pas la clé pour sa source.

Pour ma part je me suis fait un petit shell GETKEY:


#!/bin/sh
# @(#) TITLE MESSAGE: Recuperation des cles GPG et exportation vers apt
# @(#) Feilong version 05/01/2009
# @(#) Syntaxe: GETKEY KEY
# @(#) MACHINE VM DEBIAN lenny
if [ $(id -u) != "0" ]; then
echo "Seul root peut executer ce shell" >&2
exit 1
fi
if [ $# -ne 1 ]; then
echo "syntaxe : GETKEY <votre cle>"
exit 1
fi
gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys $1
if [ $? -ne 0 ]; then
echo " Une erreur est survenu pendant le téléchargement de la clé"
exit 1
fi
gpg --armor --export $1 | apt-key add -
if [ $? -ne 0 ]; then
echo " Une erreur est survenu pendant l'export de la clé vers apt"
exit 1
fi
apt-get update

Vus : 3001
Publié par Feilong : 12