Pour un administrateur système travaillant derrière un proxy entreprise géré par un autre administrateur système parano et pas sympa, il lui arrive souvent d’être bloqué pour l’importation de clé GPG avec un message d’erreur du type: W: Erreur de GPG: Release : Les signatures suivantes n’ont pas pu être vérifiées car la clé publique n’est pas disponible : NO_PUBKEY CBCB082A1BB943DB.
Qu’est-ce une clé GPG
GnuPG (ou GPG, de l’anglais GNU Privacy Guard) est l’implémentation GNU du standard OpenPGP défini dans la RFC 48802. Il est distribué selon les termes de la GNU GPL.
Il permet à ses utilisateurs de transmettre des messages signés ou chiffrés. Cela permet ainsi de garantir l’authenticité dans le premier cas ou, dans le second cas, la confidentialité du message.
Importation d’une clé GPG
Exemple avec l’ajout du dépôt de MariaDB.
Suite à l’ajout du nouveau dépôt, lors de la mise à jour de la liste des paquets l’erreur suivante s’affiche:
W: Erreur de GPG : http://ftp.igh.cnrs.fr squeeze Release : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY CBCB082A1BB943DB
L’importation d’une clé GPG sous Debian ce fait par la commande suivante:
apt-key adv --recv-keys --keyserver keys.gnupg.net 1BB943DB
Et paf le message d’erreur:
gpgkeys: http fetch error 7: couldn't connect: Connection timed out gpg: aucune donnée OpenPGP valide n'a été trouvée. gpg: Quantité totale traitée: 0 gpg: erreur interne du serveur de clés gpg: la réception depuis le serveur de clés a échoué: erreur du serveur de clés
Il existe une méthode, qui peut fonctionner, que j’avais décrite ICI
Cepenandant, il arrive que ça ne fonctionne toujours pas :-(
Dans ce cas, il faut passer par l’importation manuellement de la clé, qui sera copiée dans un simple fichier.
Importation de la clé GPG à travers un fichier
Pour pouvoir copier une clé GPG dans un fichier, il faut déjà la trouver!
Pour pouvoir la trouver, il est possible d’utiliser le site http://keyserver.ubuntu.com/.
Une fois sur le site, chercher la clé correspondant au paquet à installer, ici MariaDB, puis cliquer sur « search »:
Ensuite, la fenêtre de recherche s’affiche et cliquer sur le bon numéro de clé, correspondant au message d’erreur:
La clé s’affiche de manière chiffrée:
http://keyserver.ubuntu.com/pks/lookup?op=get&fingerprint=on&search=0xCBCB082A1BB943DB
Il faut sélectionner à partir de —–BEGIN PGP PUBLIC KEY BLOCK—– jusqu’à —–END PGP PUBLIC KEY BLOCK—– et le tout collé dans un fichier, dans le cas de l’exemple il sera nommé 1BB943DB(comme la clé).
Une fois que le fichier est créé, il est possible de l’importer avec la commande apt-key:
apt-key add 1BB943DB
et la réponse doit être: OK
Et pour finir:
apt-get update
Puis installation du paquet:
apt-get install <le_paquet>