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-Go
Code 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ĂŽteSSH.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 fichierknown_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.0
Code 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.