Pas de clé publique disponible pour vérifier l’authenticité des dépôts
Vous obtenez l’erreur « There is no public key available for the following key IDs » lorsque vous tentez un apt-get update. le numéro de clé peut différer mais la méthode de résolution est la même.
Au lancement de la mise à jour des paquets du serveur, je suis tombé sur le message d’erreur suivant :
W: There is no public key available for the following key IDs: 8B48AD6246925553 W: There is no public key available for the following key IDs: 8B48AD6246925553 W: There is no public key available for the following key IDs: 8B48AD6246925553
Visiblement, APT a perdu ses petits et ne retrouve plus la clé publique GPG d’un des mes dépôts (webmin en l’occurence).
Voici comment remédier au problème.
Solution : demander et ajouter la clé au trousseau GPG
Un peu de ménage dans APT
On commence par faire un peu de ménage dans les fichiers APT avec un petit coup de balai:
apt-get clean
… avant de récréer le dossier lists/partial pour véritablement recréer le cache APT :
cd /var/lib/apt mv lists lists.old mkdir -p lists/partial apt-get clean && apt-get autoremove && apt update
Import de la clé publique
Maintenant, il nous reste à importer la clé publique manquante dans notre trousseau.
On se place dans le dossier root pour travailler:
cd /root
On demande la clé publique:
gpg --recv-keys 8B48AD6246925553
On l’exporte et on l’ajoute à notre trousseau :
gpg --export 8B48AD6246925553 | apt-key add -
On peut alors relancer la mise à jour des paquets :
apt-get clean && apt-get autoremove apt update && apt upgrade
Script bash pour automatiser la mise à jour des clés APT
Soyons plus fous, nous allons automatiser les deux commandes avec un petit script BASH. On crée notre script :
nano /home/scripts/renew-apt-key
et on y ajoute:
#!/bin/bash # Author : Matt Biscay # Author URI : https://www.skyminds.net/?p=8735 gpg --keyserver keyserver.ubuntu.com --recv-keys $1 gpg --armor --export $1 | sudo apt-key add -
On enregistre le fichier et on le rend executable :
chmod +x renew-apt-key
Il ne vous reste plus qu’à renouveler votre clé APT avec:
sudo ./renew-apt-key NUMERO-DE-CLE
Et voilà, plus d’erreur lors des mises à jour APT.