L’erreur « L’authenticité de l’hôte ne peut être établie » se produit généralement la première fois que vous tentez de vous connecter à un serveur via SSH (Secure Shell). Cependant, elle peut également indiquer un problème grave. Par exemple, quelqu’un peut usurper l’identité du serveur.

Heureusement, il existe différentes façons de corriger l’erreur « l’authenticité de l’hôte ne peut être établie » et de garantir une connexion fluide et sécurisée. Par exemple, vous devrez peut-être créer une autorité de certification (AC) autogérée, mettre à jour votre logiciel SSH ou vérifier l’hôte distant.

Dans cet article, nous allons examiner de plus près l’erreur « L’authenticité de l’hôte ne peut être établie ». Ensuite, nous passerons en revue les causes les plus courantes et discuterons de huit solutions simples. C’est parti !

Qu’est-ce que l’erreur « L’authenticité de l’hôte ne peut être établie » ?

L’erreur « L’authenticité de l’hôte ne peut être établie » est une erreur courante qui se produit principalement lors de l’utilisation de SSH (Secure Shell). Généralement, vous devez authentifier la connexion SSH à l’aide d’un mot de passe.

Toutefois, vous pouvez également l’authentifier à l’aide de la cryptographie à clé publique. Cela implique la génération d’une paire de clés SSH composée d’une clé publique et d’une clé privée. La clé privée reste sur votre propre système tandis que la clé publique est copiée sur le système auquel vous vous connectez.

Le plus souvent, ce message d’erreur s’affiche la première fois que vous vous connectez au serveur via SSH. Cela est dû au fait que le client SSH n’est pas familiarisé avec le serveur.

Si vous faites confiance au serveur, vous pouvez ignorer l’erreur. Cette action placera la clé SSH dans votre fichier known_hosts. Ensuite, à chaque fois que vous vous connectez, vous pouvez comparer la clé que vous recevez de l’hôte à celle de votre fichier known_hosts pour vérifier l’identité du serveur.

Si vous vous êtes déjà connecté au serveur, le message d’erreur « l’authenticité de l’hôte ne peut être établie » suggère que le serveur a été reconfiguré avec une nouvelle clé. Cependant, ce message peut également indiquer un problème.

Par exemple, il se peut que quelqu’un usurpe l’identité du serveur et soit en mesure d’intercepter toutes les données envoyées via la connexion. Nous examinerons plus en détail les principales causes dans la section suivante.

Vous utilisez SSH pour vous connecter à un serveur pour la première fois ? Cette erreur peut être le signe d'un problème ! Apprenez ce qu'elle signifie et comment rester en sécurité 🛡️Click to Tweet

Quelles sont les causes de l’erreur « L’authenticité de l’hôte ne peut être établie » ?

Les causes de l’erreur « L’authenticité de l’hôte ne peut être établie » sont multiples. Voici quelques-unes des plus courantes :

  • La clé publique de l’hôte distant a changé. Bien que cela signifie généralement que le serveur a été mis à jour, cela peut également indiquer que l’hôte a été compromis. Dans ce cas, un pirate peut essayer d’usurper l’identité de l’hôte.
  • Le client ne s’est jamais connecté à l’hôte distant auparavant. Dans ce cas, le SSH n’est pas familier avec le serveur et peut donc renvoyer une erreur.
  • Plusieurs clés d’hôte. Un serveur peut avoir plusieurs clés d’hôte telles que ECDSA et RSA. Si vous utilisez la mauvaise clé, vous risquez d’obtenir l’erreur suivante.
  • La clé de l’hôte a été supprimée ou corrompue. Dans ce cas, une exception SSHE sera levée, produisant l’erreur « L’authenticité de l’hôte ne peut être établie ».
  • Le DNS de l’hôte distant est mal configuré. Un système de noms de domaine (DNS) mal configuré peut vous connecter à un hôte dont la clé est incorrecte.
  • Une attaque de type « man-in-the-middle ». L’erreur peut indiquer qu’un attaquant intercepte la connexion entre vous et l’hôte distant.

Pour une meilleure sécurité et de meilleures performances, il est important que vous choisissiez un service d’hébergement de qualité. Avec l’hébergement d’applications de Kinsta, vous pouvez exécuter vos projets sur l’infrastructure Google Cloud Platforms :

Le service d'hébergement d'applications de Kinsta
Le service d’hébergement d’applications de Kinsta

En outre, la plateforme est soutenue par les solutions de sécurité de niveau entreprise de Cloudflare. Celles-ci comprennent un pare-feu et une protection contre les attaques DDoS.

De plus, vous pouvez accéder à des certificats SSL gratuits ou en installer de nouveaux. Enfin, grâce à notre modèle de tarification basé sur l’utilisation, il est facile de faire évoluer vos ressources en fonction de la croissance de votre entreprise.

Comment corriger l’erreur « L’authenticité de l’hôte ne peut être établie » (8 méthodes)

Maintenant que vous en savez un peu plus sur l’erreur « L’authenticité de l’hôte ne peut être établie », voyons huit façons de la résoudre.

1. Vérifiez votre connexion

La première façon de résoudre l’erreur « L’authenticité de l’hôte ne peut être établie » est de s’assurer que la connexion réseau est stable. En outre, il est conseillé de vérifier que rien ne bloque la connexion.

Par exemple, il se peut que vous exécutiez un programme antivirus ou qu’un pare-feu d’application Web (WAE) soit activé. Cela peut interférer avec la connexion, vous pouvez donc désactiver temporairement le logiciel pour essayer d’effacer le message d’erreur.

2. Remplacez l’adresse IP

Beaucoup de gens supposent à tort que chaque serveur distant n’a qu’une seule clé, alors qu’en fait, un serveur peut avoir plusieurs clés d’hôte. Ainsi, vous pouvez utiliser la clé hôte RSA, mais le serveur vous présente une clé hôte ECDSA.

Vous obtiendrez donc un message d’erreur car la clé hôte est différente. Si vous avez configuré explicitement l’option HostKeyAlgorithms, SSH la respectera et préférera les algorithmes que vous avez spécifiés.

Vous pouvez consulter vos fichiers ~/.ssh/config et /etc/ssh/ssh_config pour vérifier si c’est le cas. Si c’est le cas, ajoutez une entrée à votre fichier ~/.ssh/config comme celle-ci :

# Update with the real IP address. Host 192.0.2.1 HostKeyAlgorithms rsa-sha2-512,rsa-sha2-256,ssh-rsa

Il est important de noter que cela permet d’utiliser des signatures SHA-1. Les signatures SHA-1 ne sont plus considérées comme sûres car les vulnérabilités sont bien connues. Par conséquent, si vous savez que le serveur prend en charge les signatures SHA-2, vous pouvez supprimer la commande.

Il se peut également que le système n’utilise pas d’entrées hachées. Par conséquent, l’entrée que vous avez explicitement ajoutée peut ne pas être correcte.

Dans ce cas, vous devrez vérifier les mêmes fichiers de configuration pour HashKnownHosts et ajuster l’entrée en conséquence. Vous pouvez également utiliser ssh-keygen -F 192.0.2.1 -l (en remplaçant l’adresse IP) pour voir s’il existe une correspondance pour l’entrée.

3. Passez la vérification de la clé hôte

Dans certains cas, le message d’erreur « L’authenticité de l’hôte ne peut être établie » est inoffensif. Par exemple, la clé de l’hôte peut avoir été modifiée de manière légitime si le serveur a été mis à jour ou reconfiguré récemment.

Dans ce cas, vous pouvez ignorer la procédure de vérification des clés en envoyant la clé à un fichier known_hosts nul. Dans ce fichier, vous devrez ajouter l’entrée suivante :

$ ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" user@host

Vous pouvez également configurer ces options de manière permanente dans ~/.ssh/config (pour l’utilisateur actuel). Si vous voulez les configurer pour tous les utilisateurs, utilisez plutôt /etc/ssh/ssh_config.

4. Créez votre propre autorité de certification (AC) autogérée

Les navigateurs Web ont des certificats racine X509 préinstallés qui vous permettent de faire confiance aux certificats SSL (Secure Sockets Layer ) de sites que vous n’avez jamais visités auparavant. Si certains clients SSH prennent en charge X509 ou l’ICP, d’autres ne le font pas. Cela signifie que vous ne pouvez pas utiliser un certificat SSL de VeriSign pour contourner l’invite d’authentification si le client ne le prend pas en charge.

Cependant, vous pouvez peut-être éliminer l’erreur « l’authenticité de l’hôte ne peut être établie » en créant votre propre autorité de certification (CA). Vous pourrez alors vous connecter au serveur. De plus, tout client possédant votre clé publique fera automatiquement confiance à vos serveurs.

Pour commencer, vous devez générer une paire de clés SSH. Vous pouvez le faire avec l’entrée suivante :

ssh-keygen -f cert_signer

Ensuite, vous pouvez signer la clé publique d’hôte de chaque serveur comme suit :

ssh-keygen -s cert_signer -I cert_signer -h -n www.example.com -V +52w /etc/ssh/ssh_host_rsa_key.pub

Vous obtenez ainsi une clé publique d’hôte signée :

/etc/ssh/ssh_host_rsa_key-cert.pub

Accédez maintenant à votre fichier /etc/ssh/sshd_config. Ici, vous pouvez faire pointer le certificat d’hôte vers ce fichier : HostCertificate /etc/ssh/ssh_host_rsa_key-cert.pub.

Redémarrez ensuite le service SSH. Sur le client SSH, vous devrez ajouter le code suivant au fichier known_hosts :

@cert-authority *.example.com ssh-rsa AAAAB3Nz...cYwy+1Y2u/

Cette entrée comprend :

  • L’autorité de certification
  • Le domaine (exemple.com)
  • Le contenu complet de la clé publique

L’erreur devrait maintenant disparaître, car la clé publique de cert_signer fera confiance à tout serveur dont la clé publique d’hôte est signée par la clé privée de cert_signer.

5. Mettez à jour le logiciel SSH

Une autre solution à l’erreur « l’authenticité de l’hôte ne peut être établie » consiste à mettre à jour votre logiciel client SSH afin de vous assurer que vous utilisez la dernière version. Vous serez ainsi certain que votre logiciel est compatible avec l’hôte distant.

Les mises à jour sont souvent accompagnées de corrections de bogues et de correctifs de sécurité qui améliorent la stabilité et la sécurité de la connexion. Une fois le logiciel mis à jour, vous devriez pouvoir continuer sans voir le message d’erreur.

6. Vérifiez l’hôte distant

Le message d’erreur « L’authenticité de l’hôte ne peut être établie » peut également s’afficher si la clé de l’hôte est incorrecte ou a expiré. Par conséquent, vous voudrez peut-être vérifier que la clé de l’hôte distant a été correctement générée et qu’elle est toujours valide.

Vous pouvez ainsi vérifier que le serveur distant est en ligne et disponible pour les connexions. Dans le même temps, vous pouvez vous assurer que la clé de l’hôte est correcte. De cette manière, vous pouvez confirmer que vous vous connectez au bon serveur (et non à un serveur malveillant qui se fait passer pour le serveur cible).

Pour commencer, vérifiez l’hôte distant à l’aide de la commande « ssh-keyscan » :

ssh-keyscan example.com

Cette commande récupère la clé publique de l’hôte distant et l’affiche sur votre terminal. Vous pouvez ensuite comparer cette clé avec la clé stockée dans votre fichier known_hosts (ou avec la clé fournie par l’administrateur du serveur).

Si les clés correspondent, il est probable que l’hôte distant soit le bon serveur. En revanche, si les clés ne correspondent pas, il est préférable de signaler le problème à l’administrateur du serveur et d’interrompre la connexion.

7. Supprimez l’ancienne clé de l’hôte

L’erreur « L’authenticité de l’hôte ne peut être établie » peut également signifier que votre clé d’hôte a changé. Vous pouvez donc corriger l’erreur en supprimant l’ancienne clé de votre fichier known_hosts.

La clé du serveur distant peut avoir été mise à jour à la suite d’une modification de la configuration du serveur ou d’une faille de sécurité. Dans ce cas, l’ancienne clé de l’hôte ne correspondra pas à la nouvelle, ce qui déclenchera une erreur.

Il vous suffit de supprimer l’entrée de la clé publique de l’hôte distant qui est stockée dans known_hosts. Pour cela, utilisez la commande suivante :

ssh-keygen -R example.com

Cela supprimera l’entrée du fichier known_hosts. Ensuite, la prochaine fois que vous tenterez de vous connecter au serveur via SSH, vous devrez vérifier la nouvelle clé d’hôte.

8. Purgez votre DNS

Enfin, il se peut que le système de noms de domaine (DNS) de votre hôte soit mal configuré. Cela peut conduire à se connecter à un hôte avec la mauvaise clé, ce qui entraîne l’erreur « l’authenticité de l’hôte ne peut pas être établie ».

Le moyen le plus simple de résoudre ce problème est de réinitialiser votre DNS. Pour ce faire, ouvrez l’invite de commandes Windows en tapant « cmd » dans la barre de recherche :

Invite de commande sous Windows
Invite de commande sous Windows

Saisissez ensuite la commande SSH suivante :

ipconfig/flushdns

L’erreur devrait disparaître et vous permettre de vous connecter au serveur.

Faites attention à ce genre d'erreurs car cela peut signifier que votre serveur est reconfiguré, ou pire, compromis ! Apprenez-en plus ici 👇Click to Tweet

Résumé

L’erreur « L’authenticité de l’hôte ne peut être établie » se produit généralement lorsque vous essayez de vous connecter à un serveur via SSH. Elle peut indiquer que le serveur a été reconfiguré. Cependant, cela peut également signifier que le serveur a été compromis.

Si vous vous connectez pour la première fois, il est normal que ce message d’erreur s’affiche et vous pouvez l’ignorer. Dans le cas contraire, vous devrez peut-être vérifier l’hôte pour vous assurer que vous vous connectez au bon serveur. Il se peut également que vous deviez supprimer l’ancien hôte du fichier known_hosts ou mettre à jour votre logiciel SSH.

Un autre moyen facile de renforcer la sécurité de votre application est d’utiliser un hébergeur de qualité comme Kinsta. Tous nos plans offrent un support de qualité pour vous aider à résoudre les problèmes que vous pourriez rencontrer !