Как исправить «ECDSA host key» Предупреждающая ошибка в Arch Linux

by itisgood

Я использовал множество виртуальных машин, используюя Oracle VirtualBox для тестирования и обучения.

На днях я попытался подключиться к одному из моих удаленных серверов, который работает с Arch Linux через SSH.

Вот как я использую SSH для моего удаленного сервера Arch от моей локальной системы.

ssh sk@192.168.1.102

Здесь sk – это мое имя пользователя удаленного сервера Arch Linux, а 192.168.1.102 – это IP-адрес Arch Linux.

После выполнения вышеуказанной команды я получил следующее предупреждающее сообщение.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:UX/eJ3HZT9q6lzAN8mxf+KKAo2wmCVWblzXwY8qxqZY.
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:4
ECDSA host key for 192.168.1.102 has changed and you have requested strict checking.
Host key verification failed.

Я не могу использовать SSH на удаленном сервере VM.

Я попытался войти с альтернативным именем пользователя, но получил тот же результат, что и выше.

После небольшого поиска в Google я понял, что эта ошибка произойдет, если ваша система использует динамическую IP-адресацию.

Таким образом, указанное предупреждающее сообщение будет появляться каждый раз, когда изменяется IP-адрес удаленного сервера.

Чтобы навсегда исправить эту ошибку, вы должны использовать статический IP-адрес и добавить ключ хоста только один раз.

Дело в том, что у всех нас нет статических IP-адресов, не так ли? Покупка статического IP-адреса не требуется для всех нас, и это тоже дорого.

Таким образом, вы можете решить эту ошибку, как описано ниже. Чтобы обойти эту проблему, сначала нам нужно обновить кеш-ключ ECDSA-хоста вашей удаленной системы в файле known_hosts вашей локальной системы.

Как вы, возможно, знаете, ключи хоста будут храниться в файле /home/yourusername/.ssh/known_hosts.

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

$ ssh-keygen -R <remote-system-ip-address>

В нашем случае IP-адрес удаленной системы – 192.168.1.102, поэтому давайте использовать следующую команду для удаления ключа хоста из файла «known_hosts».

$ ssh-keygen -R 192.168.1.102

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

# Host 192.168.1.102 found: line 4
/home/sk/.ssh/known_hosts updated.
Original contents retained as /home/sk/.ssh/known_hosts.old

Теперь попробуйте снова зайти через ssh в удаленную систему с командой:

$ ssh sk@192.168.1.102

Введите «yes» и нажмите «enter», чтобы обновить ключ хоста вашей удаленной системы в файле known_hosts вашей локальной системы.

The authenticity of host '192.168.1.102 (192.168.1.102)' can't be established.
ECDSA key fingerprint is SHA256:UX/eJ3HZT9q6lzAN8mxf+KKAo2wmCVWblzXwY8qxqZY.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.102' (ECDSA) to the list of known hosts.
sk@192.168.1.102's password: 
Last login: Thu May 19 18:01:24 2016
[sk@server ~]$

Теперь вы можете без проблем справиться с ssh в своей удаленной системе Arch Linux.

Этот метод будет работать не только на Arch Linux, но и на других дистрибутивах Linux.

You may also like

4 комментария

Denny-the-cat 25.05.2021 - 18:38

Спасибо, понимал что трабла с ключами, но не мог понять что делать. Эта статья в две секунды всё исправила.

Reply
itisgood 25.05.2021 - 22:54

Рады, что помогло!

Reply
Denny-the-cat 25.05.2021 - 18:39

Спасибо, помогло.

Reply
itisgood 25.05.2021 - 22:54

Всегда рады помочь!

Reply

Leave a Comment