J'ai le message d'avertissement bien connu lorsque j'essaie de ssh dans un serveur:
$ ssh whateverhost
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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 a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx/xxxxxxx.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/user/.ssh/known_hosts:10
ECDSA host key for ipofmyhost has changed and you have requested strict checking.
Host key verification failed.
Et je sais pourquoi parce que j'ai changé l'ip d'un tel serveur. Mais si ce n'était pas le cas, comment pourrais-je vérifier l'empreinte digitale de la clé ECDSA envoyée par l'hôte distant?
J'ai essayé de le faire en:
echo -n ipofthehost | sha256sum
Mais je n'ai pas la même empreinte digitale. J'ai aussi essayé "hostname, ip" un peu comme dans aws mais je n'ai rien trouvé.
Si je supprime l'entrée de mon fichier known_hosts et que j'essaie à nouveau de ssh, il réussit et indique ce qui suit:
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx/xxxxxxx.
Are you sure you want to continue connecting (yes/no)?
Alors, à quoi applique-t-il le sha256sum pour obtenir l'empreinte digitale et comment puis-je le vérifier?
/etc/ssh/ssh_host_ecdsa_key.pub
pour obtenir l'empreinte digitale. Je viens de faire.