🛠️ Исправление ошибки «WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED» на Linux — Information Security Squad
🛠️ Исправление ошибки «WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED» на Linux

Сегодня я попытался подключиться по SSH к моему удаленному серверу Ubuntu 20.04 LTS и обнаружил следующее сообщение:

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED

$ ssh itsecforu@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/itsec/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/itsec/.ssh/known_hosts:11
  remove with:
  ssh-keygen -f "/home/itsec/.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-адреса для нескольких удаленных систем, появляется указанное выше предупреждение.

Как исправить ошибку

Чтобы устранить эту проблему, просто удалите кэшированный ключ для IP-адреса в локальной системе с помощью команды:

$ ssh-keygen -R 192.168.225.52

Пример вывода:

# Host 192.168.225.52 found: line 11
/home/itsec/.ssh/known_hosts updated.
Original contents retained as /home/itsec/.ssh/known_hosts.old

Вы также можете явно указать путь к файлу known_hosts с флагом -f, как показано ниже.

$ ssh-keygen -f "/home/itsec/.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 itsecforu@192.168.225.52
Введите «yes» и нажмите 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.
itsecforu@192.168.225.52's password:
Теперь вы можете получить доступ к удаленной системе по SSH.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *