Исправить ПРЕДУПРЕЖДЕНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ. Ошибка
Сегодня я попытался подключиться по SSH к своему удаленному серверу Ubuntu 20.04 LTS и столкнулся с этим сообщением: ВНИМАНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ! .
ssh ostechnix@192.168.225.52
Пример вывода:
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ 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:K/jEKNQCYYOilJxOZc7qAWlu4xu0nW+MD09DfJL7+gc.
Please contact your system administrator.
Add correct host key in /home/sk/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/sk/.ssh/known_hosts:11
remove with:
ssh-keygen -f "/home/sk/.ssh/known_hosts" -R "192.168.225.52"
ECDSA host key for 192.168.225.52 has changed and you have requested strict checking.
Host key verification failed.
На самом деле это не сообщение об ошибке. Это просто уведомление безопасности, указывающее, что ключ хоста ECDSA для данной удаленной системы изменился с момента вашего последнего подключения. Как вы, возможно, уже знаете, когда мы впервые получаем доступ к удаленной системе из локальной системы через SSH, отпечаток ключа ECDSA, отправленный этим удаленным хостом, кэшируется и сохраняется в $HOME/.ssh. /known_hosts
в нашей локальной системе.
Если личность (отпечаток пальца) изменилась после переустановки удаленной системы или назначения одного и того же IP-адреса нескольким удаленным системам, отображается приведенное выше предупреждающее сообщение.
Исправить ошибку «ВНИМАНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНЕНА» в Linux.
Чтобы решить эту проблему, просто удалите кэшированный ключ для IP-адреса в локальной системе с помощью команды:
ssh-keygen -R 192.168.225.52
Пример вывода:
Host 192.168.225.52 found: line 11
/home/sk/.ssh/known_hosts updated.
Original contents retained as /home/sk/.ssh/known_hosts.old
Вы также можете явно указать путь к файлуknown_hosts с помощью флага -f, как показано ниже.
ssh-keygen -f "/home/sk/.ssh/known_hosts" -R "192.168.225.52"
Приведенная выше команда удалит все ключи, принадлежащие удаленному хосту, из файла known_hosts
локальной системы. А также старое содержимое файла known_hosts
будет сохранено в файле с именем «known_hosts.old
».
Если вы используете другой порт SSH, вам необходимо явно указать его, как показано ниже:
ssh-keygen -R 192.168.225.52:1234
Здесь 1234 — номер порта SSH. Замените его фактическим номером порта SSH.
После удаления ключей попробуйте еще раз подключиться к удаленной системе по SSH, используя команду:
ssh ostechnix@192.168.225.52
Введите «да» и нажмите ENTER, чтобы добавить ключ удаленного хоста в вашу локальную систему:
The authenticity of host '192.168.225.52 (192.168.225.52)' can't be established.
ECDSA key fingerprint is SHA256:K/jEKNQCYYOilJxOZc7qAWlu4xu0nW+MD09DfJL7+gc.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.225.52' (ECDSA) to the list of known hosts.
ostechnix@192.168.225.52's password:
Теперь вы можете получить доступ к удаленной системе через SSH.