Aujourd'hui, j'ai essayé de me connecter en SSH à mon serveur distant Ubuntu 20.04 LTS et j'ai rencontré ce message - ATTENTION :L'IDENTIFICATION DE L'HÔTE DISTANT A CHANGÉ ! .
$ ssh [email protected]
Exemple de résultat :
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 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 a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:K/jEKNQCYYOilJxOZc7qAWlu4xu0nW+MD09DfJL7+gc. Please contact your system administrator. Add correct host key in /home/sk/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/sk/.ssh/known_hosts:11 remove with: ssh-keygen -f "/home/sk/.ssh/known_hosts" -R "192.168.225.52" ECDSA host key for 192.168.225.52 has changed and you have requested strict checking. Host key verification failed.
Erreur - AVERTISSEMENT L'IDENTIFICATION DE L'HÔTE DISTANT A CHANGÉ
Ce n'est en fait pas un message d'erreur. Il s'agit simplement d'une notification de sécurité qui indique que la clé d'hôte ECDSA pour le système distant donné a changé depuis votre dernière connexion. Comme vous le savez peut-être déjà, lorsque nous accédons à un système distant pour la première fois à partir d'un système local via SSH, une empreinte digitale pour la clé ECDSA envoyée par cet hôte distant est mise en cache et stockée dans $HOME/.ssh/known_hosts
fichier dans notre système local.
Lorsque l'identité (empreinte digitale) a changé après la réinstallation du système distant ou l'attribution d'une même adresse IP pour plusieurs systèmes distants, le message d'avertissement ci-dessus s'affiche.
Correction de l'erreur "AVERTISSEMENT :L'IDENTIFICATION DE L'HÔTE DISTANT A CHANGÉ" sous Linux
Pour résoudre ce problème, supprimez simplement la clé en cache de l'adresse IP sur le système local à l'aide de la commande :
$ ssh-keygen -R 192.168.225.52
Exemple de résultat :
# Host 192.168.225.52 found: line 11 /home/sk/.ssh/known_hosts updated. Original contents retained as /home/sk/.ssh/known_hosts.old
Correction de l'erreur "AVERTISSEMENT :L'IDENTIFICATION DE L'HÔTE DISTANT A CHANGÉ" sous Linux
Vous pouvez également spécifier explicitement le chemin du fichier known_hosts avec -f drapeau comme ci-dessous.
$ ssh-keygen -f "/home/sk/.ssh/known_hosts" -R "192.168.225.52"
La commande ci-dessus supprimera toutes les clés appartenant à l'hôte distant de known_hosts
fichier du système local. Et aussi l'ancien contenu des known_hosts
sera conservé dans un fichier nommé "known_hosts.old
".
Si vous utilisez un port SSH différent, vous devez le mentionner explicitement comme ci-dessous :
$ ssh-keygen -R 192.168.225.52:1234
Ici, 1234 est le numéro de port SSH. Remplacez-le par votre numéro de port SSH actuel.
Après avoir retiré les clés, essayez à nouveau de vous connecter en SSH au système distant à l'aide de la commande :
$ ssh [email protected]
Tapez "yes" et appuyez sur ENTER pour ajouter la clé d'hôte distant dans votre système local :
The authenticity of host '192.168.225.52 (192.168.225.52)' can't be established. ECDSA key fingerprint is SHA256:K/jEKNQCYYOilJxOZc7qAWlu4xu0nW+MD09DfJL7+gc. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.225.52' (ECDSA) to the list of known hosts. [email protected]'s password:
Vous pouvez maintenant accéder au système distant via SSH.