GNU/Linux >> Tutoriels Linux >  >> Linux

Comment corriger l'erreur "échec de la vérification de la clé de l'hôte"

Que se passe-t-il en arrière-plan lorsque vous vous connectez à un serveur pour la première fois en utilisant ssh

Lorsque vous vous connectez à un serveur pour la première fois, le serveur vous invite à confirmer que vous êtes connecté au bon système. L'exemple suivant utilise la commande ssh pour se connecter à un hôte distant nommé host03 :

# ssh host03
The authenticity of host 'host03 (192.0.2.103)' can’t be
established. ECDSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'host03,192.0.2.103' (ECDSA) to the list of known hosts.

La validation de l'hôte est l'une des principales fonctionnalités d'OpenSSH. La commande vérifie que vous vous connectez à l'hôte auquel vous pensez vous connecter. Lorsque vous saisissez oui, le client ajoute la clé d'hôte publique du serveur au fichier ~/.ssh/known_hosts de l'utilisateur, en créant le répertoire ~/.ssh si nécessaire. La prochaine fois que vous vous connecterez au serveur distant, le client comparera cette clé à celle fournie par le serveur. Si les clés correspondent, il ne vous est pas demandé si vous souhaitez continuer à vous connecter.

Quelles sont les causes de l'échec de la vérification de la clé de l'hôte ?

Si quelqu'un essaie de vous inciter à vous connecter à sa machine afin de pouvoir renifler votre session SSH, vous recevrez un avertissement semblable à celui-ci :

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
dd:cf:50:31:7a:78:93:13:dd:99:67:c2:a2:19:22:13.
Please contact your system administrator.
Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message.
Offending key in /home/lcz/.ssh/known_hosts:7
RSA host key for 192.168.219.149 has changed and you have requested strict checking.
Host key verification failed.

Si jamais vous recevez un avertissement comme celui-ci, arrêtez-vous et déterminez s'il y a une raison pour laquelle la clé d'hôte du serveur distant a changé (par exemple, si SSH a été mis à niveau ou si le serveur lui-même a été mis à niveau). S'il n'y a aucune raison valable de changer la clé de l'hôte, n'essayez pas de vous connecter à cette machine tant que vous n'avez pas résolu la situation.

Comment corriger l'erreur "Échec de la vérification de la clé de l'hôte"

Méthode 1 - suppression manuelle de l'ancienne clé

1. Sur le serveur source, les anciennes clés sont stockées dans le fichier ~/.ssh/known_hosts .

2. Uniquement si cet événement est légitime, et uniquement si l'on sait précisément pourquoi le serveur SSH présente une clé différente, éditez le fichier known_hosts et supprimez l'entrée de clé qui n'est plus valide. Chaque utilisateur du serveur client/source a ses propres hosts_connus dans son répertoire personnel, il suffit de supprimer l'entrée dans le fichier d'un utilisateur spécifique pour le serveur de destination. Par exemple :
– Si root veut se connecter au serveur en ssh, il suffit de supprimer l'entrée dans /root/.ssh/known_hosts le fichier est correct.
– Si testuser veut se connecter au serveur en ssh, supprimez l'entrée dans le fichier /home/testuser/.ssh/known_hosts .

3. Dans mon cas, je supprimerai la clé (surlignée en rouge) du serveur de destination 192.168.219.149 du fichier /home/user01/.ssh/known_hosts.

# vim /home/user01/.ssh/known_hosts
172.104.9.113 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLrY91bQOihgFZQ2Ay9KiBG0rg51/YxJAK7dvAIopRaWzFEEis3fQJiYZNLzLgQtlz6pIe2tj9m/Za33W6WirN8=
192.168.219.148 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCrY/m16MdFt/Ym51Cc7kxZW3R2pcHV1jlOclv6sXix1UhMuPdtoboj+b7+NLlTcjfrUccL+1bkg8EblYucymeU=
192.168.219.149 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCrY/m16MdFt/Ym51Cc7kxZW3R2pcHV1jlOclv6sXix1UhMuPdtoboj+b7+NLlTcjfrUccL+1bkg8EblYucymeU=

Méthode 2 - suppression de l'ancienne clé à l'aide de la commande ssh-keygen

Vous pouvez également supprimer l'ancienne clé à l'aide de la commande ssh-keygen. La syntaxe pour utiliser la commande est ci-dessous.

$ ssh-keygen -R [hostname|IP address]

Par exemple, dans notre cas, nous utiliserons l'adresse IP pour supprimer l'ancienne clé.

$ ssh-keygen -R 192.168.219.149
# Host 192.168.219.149 found: line 3
/home/user01/.ssh/known_hosts updated.
Original contents retained as /home/user01/.ssh/known_hosts.old
Remarque :Si vous ne savez pas précisément pourquoi le serveur SSH présente une clé différente, soit votre fichier known_hosts est incorrect, soit quelqu'un doit enquêter sur ce serveur et les connexions réseau pour comprendre la raison du changement inattendu.

Vérifier

Si les serveurs distants demandent une confirmation pour ajouter la nouvelle clé au fichier ~/.ssh/known_host, cela confirme que vous avez supprimé avec succès l'ancienne clé. Si vous confirmez la demande, la machine source ajoute la nouvelle clé dans le fichier ~/.ssh/known_host.

$ ssh [email protected]
The authenticity of host '192.168.219.149 (192.168.219.149)' can't be established.
ECDSA key fingerprint is SHA256:V+iGp3gwSlnpbtYv4Niq6tcMMSZivSnYWQIaJnUvHb4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.219.149' (ECDSA) to the list of known hosts.


Linux
  1. Comment réparer l'erreur d'échec d'authentification Cron sous Linux ?

  2. Comment réparer l'erreur "Échec de la récupération de la clé GPG" lors de l'installation de YUM ?

  3. Comment réparer l'erreur OpenStack - Échec de la suppression du réseau ? [Résolu]

  4. Comment réparer l'erreur Metasploit - nécessite l'installation du gem bundler ? [Résolu]

  5. La vérification de la signature a échoué sur la clé publique SPKAC - Correction de l'erreur OpenCA

Comment réparer :l'utilisateur n'est pas dans l'erreur de fichier sudoers

Comment réparer une erreur de conversion avec Calibre

Comment réparer l'erreur d'échec du chargement de KDE Discover des fournisseurs

Comment réparer l'erreur "Les signatures suivantes n'ont pas pu être vérifiées" dans Ubuntu Linux

Comment réparer "Les informations de mise à jour sont obsolètes" dans Ubuntu Linux

Comment réparer la partition NTFS n'a pas réussi à monter l'erreur sous Linux