Résoudre l'erreur SSH : Host key verification failed
Il peut y avoir plusieurs raisons pour lesquelles ssh est confronté à un problème de vérification de l’hôte, la plupart du temps, le serveur distant a subit une modification et sa clef ne correspond plus à celle qui a été enregistrée sur votre poste. Mais le problème peut aussi venir d’un mauvais paramétrage des droits de /dev/tty
.
Modification de l’hôte
En général le message de ssh ressemble à ça :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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.
Si le serveur distant a subit une modification et que sa clef s’en trouve changée, il faut donc effacer la ligne correspondante de votre fichier ~/.ssh/known_hosts
. Cela peut se faire manuellement, ou via la commande ssh-keygen
:
ssh-keygen -R hostname
Il n’y a plus qu’à se reconnecter, à accepter le message disant que la clef RSA ne peut être établie, et voilà !
Problème avec /dev/tty
Ce problème là est un peu plus pernicieux, je n’y avais jamais été confronté auparavant, et j’admets avoir dû chercher un moment… Première étape, lorsque vous tentez de vous connecter en ssh, activez le mode verbeux et observez la sortie :
ssh -v login@host
[…]
debug1: read_passphrase: can't open /dev/tty: Permission denied
Host key verification failed.
Si votre commande se termine par ces deux lignes, c’est que vous avez de mauvais droits sur /dev/tty
. Réglons donc ce problème avec un petit chmod :
sudo chmod 666 /dev/tty
Et voilà ! Tout devrait marcher comme sur des roulettes.
Commentaires
Rejoignez la discussion !