Lorsque vous interagissez avec un logiciel, comme dans un Linux or Windows environnement, un digital signature est utilisé pour authentifier le progiciel. Il s’agit d’un message de charge utile haché, qui est en outre chiffré avec une clé privée lors d’une deuxième étape de préparation. Ainsi, la clé privée garantit l'authenticité et le hachage l'intégrité du message transmis. Mais il arrive que dans le fonctionnement de n'importe quel logiciel il y ait des erreurs, considérons cela possible sur l'exemple du crypto-paquet GPG !
Comment corriger l'erreur GPG « NO_PUBKEY » ?
C'est un problème assez courant lors de la mise à jour d'un référentiel, lorsqu'après une commande du gestionnaire de packages avec la fonction update, un problème similaire est généré :
L'erreur indique que la clé publique 160D26BB1785BA38 n'a pas été trouvé pour le référentiel mongodb-org, qui est utilisé pour vérifier le digital signature sur les packages dans le référentiel. Par défaut, Linux les distributions ne permettent pas d'installer des packages sans la clé correspondante.
Sur les serveurs Serverspace plate-forme cloud, utilisait également des clés pour identifier le package par défaut. Cela permet un déploiement transparent. Vous pouvez également ignorer cette étape si vous disposez d'un serveur cloud. Pour créer le nœud, nous devons trouver la plate-forme cloud dans le menu de gauche que vous pouvez choisir en fonction de vos besoins. Nous choisissons vStack or VMware plate-forme et click sur Créer un serveur .
Le déploiement de la capacité du serveur prendra un certain temps. Après cela, vous pouvez vous connecter de n’importe quelle manière pratique. Revenons à notre terminal avec problème et expliquons nature d'eux.
Depuis que Linux les distributions ne vous permettent pas d'installer des packages sans clé publique, vous devez en ajouter une. Il existe deux manières : rechercher un fichier avec une clé publique sur le site Internet de l'entreprise ou utiliser un serveur de clés. Pour la première fois, trouvons la clé sur le site Web de l'entreprise.
Il suggère de télécharger la clé via HTTPS, qui peut être une solution sécurisée car le centre d'authentification valide l'authenticité du site via un certificat et TLS fournit un canal confidentiel pour transmettre le message.
Si nous faisons confiance à l'autorité de certification, cette méthode est pratique. Exécutons la commande pour installer le logiciel nécessaire :
apt install gnupg curl
Et puis téléchargez le package nécessaire en convertissant asc au format gpg, en l'enregistrant dans le dossier /usr/share/keyrings/mongo.gpg. Pour ce faire, exécutez la commande :
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc \
| sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
Ou nous pouvons effectuer cette action à l'aide d'un serveur de clés, connaissant l'identifiant de la clé publique. L'erreur montre la séquence 160D26BB1785BA38, qui est l'identifiant de la clé. Adressons-nous au serveur avec la commande :
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mongo.gpg --keyserver keyserver.ubuntu.com --recv-keys 160D26BB1785BA38
Dans ce cas, nous demandons les clés à un serveur officiel qui les a signées et confirmé l'intégrité des clés. Pennsylvanierameters dans la commande :
- --no-default-keyring --keyring vous permet de définir un nouveau trousseau qui sera distinct du trousseau principal ;
- --keyserver permet de spécifier le serveur qui sera utilisé pour demander la clé. Vous pouvez spécifier n'importe quel serveur auquel vous faites confiance ;
- --recv-keys spécifie l'identifiant de la clé demandée.
Nous devons maintenant écrire le chemin d'accès à la clé dans la liste des référentiels, pour communiquer entre eux. Pour cela, allons dans le fichier :
echo "deb [ signed-by=/usr/share/keyrings/mongo.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" > /etc/apt/sources.list.d/mongodb-server-7.0
Après cela, vous devez mettre à jour la liste des référentiels avec la commande :
apt update
Comme vous pouvez le voir sur la capture d'écran, le référentiel a été touché, il est donc désormais disponible pour le téléchargement de packages. Cependant, après avoir ajouté une clé, un avertissement peut s'afficher concernant le danger lié à l'utilisation d'une telle clé.
GPG : Rien n’indique que la signaturenature appartient au propriétaire.
Le fait est que GPG utilise une politique similaire aux autorités de certification. Pour qu'une clé soit considérée comme fiable, elle doit être téléchargée à partir d'un serveur de clés. Ou bien, la même clé doit être signée par une clé de confiance, ce qui signifie qu'elle se trouve dans la base de données trust.gpg avec un niveau de confiance de 4-5. Ainsi, lors de la signature de telles notifications, il est tout à fait normal, mais il est nécessaire de revérifier les propriétaires et de hacher les sommes. Ils s'assureront de l'intégrité des données transmises depuis les serveurs.
Si vous êtes sûr que les clés sont en placegitimate, vous devez écrire la commande :
gpg --edit-key 160D26BB1785BA38
Où au lieu de 160D26BB1785BA38, votre identifiant de clé sera précisé, après quoi le menu d'interaction avec la clé s'ouvrira. Il est nécessaire de préciser l'élément de confiance et de sélectionner le niveau de confiance :
Après cela, l'inscription disparaîtra lorsque vous utiliserez la clé :
Le dépannage des erreurs GPG est un aspect important pour garantir la sécurité et la stabilité des systèmes d'exploitation, en particulier dans le Linux monde. Comprendre les causes et les solutions aux problèmes GPG permet de garantir l'intégrité et l'authenticité des logiciels installés et des mises à jour. En vérifiant les clés, en mettant à jour les référentiels et en peaufinant les fichiers de configuration, les problèmes peuvent être résolus efficacement. N'oubliez pas qu'un dépannage minutieux et le respect des recommandations de la communauté d'experts vous aideront à maintenir votre système opérationnel et sécurisé.