Cette rubrique décrit les causes et les solutions de l'erreur « Host key verification failed » lors de la connexion à une instance ECS Linux via SSH.
Symptômes
-
Lorsque vous vous connectez à une instance ECS Linux via SSH depuis un client Linux ou macOS, le message d'erreur suivant s'affiche :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 ae:6e:68:4c:97:a6:91:81:11:38:8d:64:ff:92:13:50. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:70 RSA host key for x.x.x.x has changed and you have requested strict checking. Host key verification failed. -
Lorsque vous utilisez un client SSH tel que PuTTY ou MobaXterm sur un poste Windows local pour vous connecter à une instance ECS Linux, un message d'erreur tel que « The host key does not match the one PuTTY has cached for this server » ou « remote server identification has changed » s'affiche.
PuTTY affiche une boîte de dialogue d'avertissement de sécurité WARNING - POTENTIAL SECURITY BREACH!. Le type de clé est ssh-ed25519. Cliquez sur Accept, Connect Once ou Cancel.
La boîte de dialogue d'avertissement de MobaXterm propose trois options : Accept the new server hostkey and carry on connecting, Refuse the new server hostkey and abort the connection et Accept and save as additional hostkey (keep the existing ones).
Cause
Cette erreur survient lorsque la clé publique SSH de l'instance ECS change, par exemple après une réinstallation du système d'exploitation ou une modification des informations du compte. L'empreinte de la clé publique enregistrée sur votre client local ne correspond alors plus à celle du serveur, ce qui déclenche l'avertissement de sécurité.
Solution
La solution dépend du système d'exploitation de votre client local.
Client local : Windows
Cette section prend PuTTY et MobaXterm comme exemples. Les étapes peuvent varier pour d'autres clients SSH.
Si vous utilisez PuTTY, cliquez sur Accept. PuTTY met automatiquement à jour l'empreinte de la clé publique mise en cache, ce qui vous permet de vous connecter à l'instance.
Si vous utilisez MobaXterm, cliquez sur Accept the new server hostkey and carry on connecting. MobaXterm met automatiquement à jour l'empreinte de la clé publique mise en cache, ce qui vous permet de vous connecter à l'instance.
Client local : Linux ou macOS
-
Sur votre client local, exécutez la commande suivante pour ouvrir le fichier
known_hostsde votre compte utilisateur :vim ~/.ssh/known_hosts Appuyez sur i pour passer en mode Insertion.
-
Supprimez l'entrée correspondant à l'adresse IP de votre instance ECS, comme illustré dans l'exemple suivant :
39.105. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBEPMCfKNtd5Pkjp4A+ocwNzeTN fLNrUf3a0EfqXj4X4URJMPEzEl94ftuA7ZltOM0cAMkeZzOql ~ Appuyez sur la touche
Esc, saisissez:wqet appuyez sur Entrée pour enregistrer le fichier et quitter.Reconnectez-vous à l'instance ECS Linux pour vérifier que la connexion aboutit.