WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
При попытке зайти через SSH с одной Unix подобной системы на другую, возникла следующая ошибка: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Выглядело это все примерно следующим образом:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 the DSA host key has just been changed. The fingerprint for the DSA key sent by the remote host is Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:1 DSA host key for 192.168.0.2 has changed and you have requested strict checking. Host key verification failed.
Скорее всего проблема в том что ключи ssh поменялись и поэтому в целях безопасности система не дает доступа.
Решается следующим образом:
Удалить все ключи
Заходим в домашнюю директорию пользователя от которого идет подключение и удаляем файл .ssh/known_hosts
Через терминал это можно сделать так:
cd ~ rm .ssh/known_hosts
После чего при попытке снова зайти по ssh система создаст нам новый ключ.
Удалить ключ 1 сайта ил IP адреса
Необходимо просто удалить текущий ключ для данного домена (в нашем примере itcom.in.ua), сделать это можно командой, которая описана в самом тексте ошибки:
ssh-keygen -f "/home/user/.ssh/known_hosts" -R itcom.in.ua
В случае успеха, вывод команды должен быть примерно таким:
# Host itcom.in.ua found: line 10 /home/user/.ssh/known_hosts updated. Original contents retained as /home/user/.ssh/known_hosts.old
Еще один способ
ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.0.166 # Host 192.168.0.166 found: line 75 type ECDSA /root/.ssh/known_hosts updated. Original contents retained as /root/.ssh/known_hosts.old
Третий вариант удаления ключа:
sed -i '75d' /root/.ssh/known_hosts
Примечание. Номер строки с ssh-ключем, который нужно удалить, указывается с помощью ‘75d’.
Четвертый вариант удаления ключа (с использованием perl):
perl -pi -e 's/\Q$_// if ($. == 75);' /root/.ssh/known_hosts
После проделанных действий пробуем подключиться по ssh к удаленному хосту — проблема должна исчезнуть.
После этого, необходимо еще раз попытаться подключиться к удаленному хосту и подтвердить установку нового ключа, написав «yes»
ssh [email protected] The authenticity of host 'itcom.in.ua (78.69.22.54)' can't be established. ECDSA key fingerprint is SHA256:5VLaarxCsGZcv78FWphaEQkHwAtq+Zzp1tBfOXKQQzE. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'itcom.in.ua' (ECDSA) to the list of known hosts.