Поиск по сайту:

Как исправить ошибку предупреждения ключа хоста ECDSA в Arch Linux

Я уже много лет использую Oracle Virtualbox для развертывания множества виртуальных машин в целях тестирования и обучения. На днях я попытался подключиться к одному из моих удаленных серверов, работающих под управлением Arch Linux, через SSH, используя команду:

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.

Ключ хоста ECDSA изменился, и вы запросили строгую проверку. Проверка ключа хоста не удалась.

Я не могу подключиться по SSH к системе Arch Linux. Я попытался войти в систему под другим именем пользователя, но получил тот же результат, что показан выше.

На самом деле это не сообщение об ошибке. Это просто уведомление безопасности, указывающее, что ключ хоста ECDSA для данной удаленной системы изменился с момента вашего последнего подключения. Как вы, возможно, уже знаете, когда мы впервые получаем доступ к удаленной системе из локальной системы через SSH, отпечаток ключа ECDSA, отправленный этим удаленным хостом, кэшируется и сохраняется в $HOME/.ssh/known_hosts< в нашей локальной системе.

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

Исправить ошибку предупреждения ключа хоста ECDSA в Linux

Чтобы обойти эту проблему, сначала нам нужно обновить кэшированный ключ хоста 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

Введите Да и нажмите ВВОД, чтобы обновить ключ хоста вашей удаленной системы в файле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 ~]$

Добавить отпечаток ключа ECDSA в список известных хостов

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

Статьи по данной тематике