Я переустановил ОС моего удаленного сервера, и теперь, когда я пытаюсь выполнить ssh root@myserverIP
с моей локальной машины, я получаю:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:xxxxxxxxxxx.
Please contact your system administrator.
Add correct host key in /var/root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /var/root/.ssh/known_hosts:3
ECDSA host key for xxx.xxx.xxx.xxx has changed and you have requested strict checking.
Host key verification failed.
(xxx
это просто чтобы скрыть реальную информацию)
Вместо того, чтобы менять ключ, я выбрал полное удаление всего содержимого в .ssh/known_hosts
, надеясь, что мне предложат добавить ключ снова. Но вместо этого я все еще получаю ту же ошибку.
Итак, я даже попытался удалить один ключ вручную:
ssh-keygen -R xxx.xxx.xxx.xxx
И, конечно, его там нет, так как known_hosts
теперь пуст:
Host xxx.xxx.xxx.xxx not found in /Users/xxx/.ssh/known_hosts
Тем не менее, я все еще получаю ту же ошибку снова и снова. Это озадачивает - откуда ssh
получает информацию, если known_hosts
пуст?
Конечно, я перезапустил свой Mac и даже очистил кеш. Может быть, ssh
использует другой known_hosts
? Но где это? Я пытался locate
его, но не могу найти какой-либо другой файл known_hosts
на моем диске.
Что я делаю неправильно? Как я могу решить это?