2 votes

Pourquoi SSHing vers un serveur me donne-t-il une erreur REMOTE HOST IDENTIFICATION HAS CHANGED, alors que mon fichier known_hosts et le serveur n'ont pas changé?

Mettre ceci ici dans le but d'aider les autres qui pourraient rencontrer ce problème obscur.

J'ai récemment mis à niveau OSX de Mavericks à El Capitan. J'ai ensuite essayé de me connecter à un système auquel je m'étais déjà connecté, et ssh a renvoyé cette erreur :

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ AVERTISSEMENT : L'IDENTIFICATION DE L'HÔTE DISTANT A CHANGÉ ! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IL EST POSSIBLE QU'UNE PERSONNE MALVEILLANTE FASSE QUELQUE CHOSE!
Quelqu'un pourrait vous écouter en ce moment (attaque de l'homme du milieu)!
Il est également possible qu'une clé hôte ait simplement été modifiée.
L'empreinte pour la clé ECDSA envoyée par l'hôte distant est
SHA256:Btm9/3heWnRLKNiuhw4efh6sQWqCr/dNJUD87ejdR6k.
Veuillez contacter votre administrateur système.
Ajoutez la bonne clé hôte dans /Users/myuser/.ssh/known_hosts pour vous débarrasser de ce message.
Clé RSA offensante dans /Users/myuser/.ssh/known_hosts:33
La clé hôte ECDSA pour real.hostname.com a changé et vous avez demandé une vérification stricte.
Échec de la vérification de la clé hôte.

J'ai regardé dans mon fichier des hôtes connus et j'ai vu la clé publique :

real.hostname.com,192.168.0.138 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHxFq6UNxndgThogOpKGYHK0HpmK1niGPBdNVyo9Q8zX//ms3joRH+tvL0RigJ+i5f0qSUjK2j80BYyCjnCXkYJ+YIPOGioGiuFGuoFutvJLH4iXT652b2WxJJwPqAvz70Xez1ToFxsIl8H0noUNTmlXRsfY0G5gX+089aghq3hH8OGUIGoyGCrv7Dpdh+tiMDXQqz0R4yhOa0iAojv+SVqbzArT8/AxC8VzuNDww6Fi96rxK1vaFg9SJEegwAZzWcbUFopA4cb8r7sQ5tHG56L5zX9/Yadg4/Pf02O6dP62M1rW7x6VoG/gEa72axqV/izm7/ws7SASsiKtHKRijf

Je suis ensuite allé sur une autre machine, ai vérifié que la clé ci-dessus correspondait à celle du fichier known_hosts de l'autre machine. J'ai ensuite connecté cette autre machine à real.hostname.com sans erreur ni avertissement.

Pourquoi cela s'est-il produit ?

3voto

Stuart Horner Points 51

La clé ici est la mise à niveau de Mavericks vers El Capitan. Il s'avère que le client ssh a été mis à jour dans El Capitan, donc lorsqu'il tente de se connecter à un serveur ssh, il utilise maintenant un type de clé différent au lieu de "ssh-rsa".

Dans ce cas, ssh tente d'utiliser "ecdsa-sha2-nistp256". Sur un système plus récent, si vous exécutez "ssh-keyscan" sur le domaine, il affichera à la fois le type de clé ssh-rsa et ecdsa-sha2-nistp256 :

myname@myhost-1:~$ ssh-keyscan real.hostname.com
# real.hostname.com SSH-2.0-OpenSSH_6.6.1
real.hostname.com ecdsa-sha2-nistp256 k8DaAFOzRyv0kbP8Ua48IIk8DaAFOzRyvAAIbmlzdHAyNTYAAABBBAOq0InBTTdCqbaackF5biy0QghSFZBV/MRoL936yOAXgPAnZlHl+zQ5weK7nM2UNt2qGxqWKLSZ6gE6slZnQkw=
# real.hostname.com SSH-2.0-OpenSSH_6.6.1
real.hostname.com ssh-rsa k8DaAFOzRyv0kbP8Ua48IIk8DaAFOzRyvk8DaAFOzRyv0kbP8Ua48IIk8DaAFOzRyvFq6UNxndgThogOpKGYHK0HpmK1niGPBdNVyo9Q8zX//ms3joRH+tvL0RigJ+i5f0qSUjK2j80BYyCjnCXkYJ+k8DaAFOzRyv0kbP8Ua48IIiXT652b2WxJJwPqAvz70Xez1ToFxsIl8H0noUNTmlXRsfY0G5gX+HGXoLuLsr9VEghX2oyGCrv7Dpdh+tiMDXQqz0R4yhOa0iAojv+SVqbzArT8/AxC8VzuNDww6Fi96rxK1vaFg9SJEegwAZzWcbUFopA4cb8r7sQ5tHG56L5zX9/Yadg4/Pf02O6dP62M1rW7x6VoG/gEa72axqV/izm7/ws7SASsiKtHKRijf

Lorsque la nouvelle version de ssh tente de faire correspondre la chaîne de type de clé ecdsa-sha2-nistp256 à la chaîne de type de clé ssh-rsa, elle échoue, au lieu de reconnaître qu'il s'agit de deux types de clés différents pour la même machine.

Je considère cela comme un bug, mais je n'ai aucune idée de où je pourrais le poster.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X