Ошибка «WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED»
Описание проблемы
Возникает при подключении к виртуальной машине по SSH, когда SSH-клиент на вашем компьютере обнаружил, что публичный ключ для IP-адреса виртуальной машины изменился.
Например, такую ошибку можно получить, если:
Создать ВМ с публичным IP-адресом.
Подключиться к ней по SSH.
Отвязать публичный IP от ВМ.
Назначить публичный IP новой ВМ, для подключения к которой используется другой SSH-ключ.
Попытаться подключиться к новой ВМ по SSH.
Решение
Во время каждого подключения к виртуальной машине SSH-клиент проверяет, совпадает ли публичный ключ для IP-адреса этой ВМ с тем, который использовался прошлый раз. Список IP-адресов и соответствующих им ключей хранится в файле known_hosts на компьютере, с которого выполняется подключение.
При первом подключении к ВМ в known_hosts добавляется новая запись — ключ хоста. В этот момент появляется такое сообщение:
The authenticity of host '192.168.0.2 (192.168.0.2)' can't be established.RSA key fingerprint is SHA256:********Lo+RBBNpxKp7mInocF3/Yl/0fXRsGJ2JfYg.Are you sure you want to continue connecting (yes/no/[fingerprint])?
После создания ключа хоста подключиться к ВМ с другим публичным ключом не получится, потому что он не совпадет с тем, что указан в known_hosts.
Чтобы устранить ошибку:
Удалите старую запись о хосте. В терминале выполните команду:
ssh-keygen -R <public_IP>Где <public_IP> — публичный IP-адрес виртуальной машины.
Также вы можете открыть файл known_hosts на своем компьютере и вручную удалить из него строку, которая соответствует публичному IP-адресу ВМ. По умолчанию файл находится в директории /home/<имя_пользователя>/.ssh или C:\Users\<имя_пользователя>\.ssh\
Подключитесь к ВМ по SSH:
ssh <login>@<public_IP>Где:
<login> — имя пользователя виртуальной машины.
<public_IP> — публичный IP-адрес виртуальной машины.
Подтвердите добавление нового ключа хоста: введите yes.
- Описание проблемы
- Решение