SSH : Host key verification failed

Voici la solution pour le problĂšme “authenticity of host ‘example.com can’t be established” ou “Host key verification failed” lors d’une session SSH sous Linux, MacOS ou Windows.

J’ai rĂ©cemment travaillĂ© sur un site WordPress multisite hĂ©bergĂ© sur WPEngine. Lorsque j’ai voulu me connecter au site en SSH, j’ai reçu une drĂŽle d’erreur:

The authenticity of host 'example.ssh.wpengine.net (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is SHA256:T8IoIg6/q7i3pVfZipYtxow4.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:38: 1.ssh.wpengine.net
    ~/.ssh/known_hosts:42: 2.ssh.wpengine.net
    ~/.ssh/known_hosts:47: 3.ssh.wpengine.net
    ~/.ssh/known_hosts:52: 4.ssh.wpengine.net
    ~/.ssh/known_hosts:54: 5.ssh.wpengine.net
    ~/.ssh/known_hosts:56: 6.ssh.wpengine.net
    ~/.ssh/known_hosts:76: 7.ssh.wpengine.net
    (2 additional names omitted)
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Host key verification failed.Code language: PHP (php)

Comme vous pouvez le voir, il y a déjà pas mal de domaines connus dans mon trousseau SSH, qui appartiennent à ssh.wpengine.net.

Pour une raison obscure toutefois, le nouveau sous-domaine n’est pas admis, contrairement aux sous-domaines prĂ©cĂ©dents qui n’avaient posĂ© aucun problĂšme.

Solution: ajouter la clé au trousseau manuellement

Si la clĂ© ne peut ĂȘtre ajoutĂ©e automatiquement, ajoutons-la manuellement et tentons de nous connecter.

Concrétement, il faut donc insérer la clé RSA du serveur dans le fichier /home/user/.ssh/known_hosts de la machine qui se connecte en SSH au serveur distant.

Nous pouvons faire cela en une seule commande:

ssh-keyscan -t rsa example.ssh.wpengine.net >>  ~/.ssh/known_hosts
# example.ssh.wpengine.net:22 SSH-2.0-GoCode language: PHP (php)

Voici ce que fait la commande:

  • ssh-keyscan -t rsa SSH.EXAMPLE.COM : cela rĂ©cupĂšre la clĂ© RSA de l’hĂŽte SSH.EXAMPLE.COM
  • >> ~/.ssh/known_hosts : cela copie la clĂ© et l’insĂšre dans le rĂ©pertoire .ssh du dossier personnel de notre utilisateur, Ă  la fin du fichier known_hosts qui contient tous les hĂŽtes et clĂ©s RSA pour SSH.

Retentons maintenant de nous connecter au site WPEngine en SSH:

ssh example@example.ssh.wpengine.net

___       _________       __________              _____
__ |     / /__  __ \      ___  ____/_____________ ___(_)___________
__ | /| / /__  /_/ /      __  __/  __  __ \_  __ `/_  /__  __ \  _ \
__ |/ |/ / _  ____/       _  /___  _  / / /  /_/ /_  / _  / / /  __/
____/|__/  /_/            /_____/  /_/ /_/_\__, / /_/  /_/ /_/\___/
                                          /____/
WP Engine Shell - PHP 8.0Code language: JavaScript (javascript)

Et voilà, la connexion SSH est de nouveau opérationnelle!

Votre site mérite performance et fiabilité. Grùce à mon expérience, je vous aide à optimiser WordPress/WooCommerce pour des résultats visibles.

Voyons comment amĂ©liorer votre site »

Matt

Développeur certifié WordPress & WooCommerce chez Codeable, administrateur systÚme et enseignant-chercheur, je mets mon expertise au service de vos projets web.

Ma priorité : des sites performants, fiables et sĂ©curisĂ©s, pensĂ©s pour offrir la meilleure expĂ©rience utilisateur. J’accompagne chaque client avec Ă©coute et pĂ©dagogie, pour transformer vos idĂ©es en solutions concrĂštes et durables.

Profitez de solutions WordPress et WooCommerce sur-mesure, pensées pour optimiser durablement votre site.
Explorez les leviers pour booster l’impact de votre site web.

Opinions