Бывает иногда нужно удалить старые идентификационные данные хоста. Мало ли, переустановили или что-то еще сделали с ключами.
Тогда ssh при подключении к новому хосту выдает:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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/xxxxx/.ssh/known_hosts to get rid of this message.
Offending key in /home/xxxxx/.ssh/known_hosts:6
RSA host key for xxxxx.xxxx.ru has changed and you have requested strict checking.
Host key verification failed
Возникает вполне резонный вопрос, а как удалить старые идентификационные данные о хосте из known_hosts?
Раньше я это делал руками, все равно не часто такое приходится делать. Но сейчас в этом файле стали хранить хэши, что в общем-то есть правильно. Но найти тот самый хост стало уже не так тривиально, что и сподвигла меня на поиски правильного решения данного вопроса.
Оказалось все очень просто:
ssh-keygen -R host_name или IP