Ssh : le client libre de OpenSSH
La clé publique d'un de vos serveurs a changé
Lors de votre première connexion à un serveur ssh, le client ssh vous a demandé si vous vouliez lier l'hostname auquel vous vous connectez à la clé publique annoncée par le serveur ssh. L'acceptation est obligatoire pour vous connecter, et l'association est sauvegardé dans le fichier ~/.ssh/known_hosts
. Ce mécanisme de sécurité permet de s'assurer que vous vous connectez toujours au bon serveur et que nous n'allez pas envoyer vos identifiants à un serveur corrompu.
Si, par exemple après une réinstallation, la clé d'un serveur a changé, le client ssh refusera de se connecter en spécifiant l'erreur suivante :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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. The fingerprint for the RSA key sent by the remote host is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Please contact your system administrator. Add correct host key in /home/<vous>/.ssh/known_hosts to get rid of this message. Offending key in /home/<vous>/.ssh/known_hosts:2 RSA host key for <ip> has changed and you have requested strict checking. Host key verification failed.
Pour rétablir authentification, il faut supprimer la ligne correspondante du fichier ~/.ssh/known_hosts
. Pour cela nous allons utiliser ssh-keygen
Pour voir la clé publique associée à un hostname :
ssh-keygen -F hostname
Pour supprimer la clé publique associée à un hostname :
ssh-keygen -R hostname