Ubuntu-ssh - ВНИМАНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ

Я не могу подключиться к удаленной системе по ssh и rysnc. Он продолжает выдавать это сообщение об ошибке:

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 RSA key sent by the remote host is
a3:8f:7c:07:c9:12:d8:aa:cd:c2:ba:b3:27:68:bc:c2.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending RSA key in /root/.ssh/known_hosts:8
RSA host key for xxx.xxx.xxx.xxx has changed and you have requested strict checking.
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(601) [sender=3.0.8]

Я удалил authorized_keys файл из /home/user/.ssh.


person thiyagu114    schedule 28.12.2011    source источник
comment
Также проверьте сообщение об ошибке rsync, ssh: подключение к хосту xxx.xxx.xxx.xxx порт 22: соединение отклонено rsync: соединение неожиданно закрыто (на данный момент получено 0 байтов) [отправитель] ошибка rsync: необъяснимая ошибка (код 255) в io.c(601) [отправитель=3.0.8]   -  person thiyagu114    schedule 28.12.2011
comment
если это не производственная система, вы можете выполнить truncate -s 0 /root/.ssh/known_hosts   -  person    schedule 09.07.2015
comment
in.godaddy.com/help/   -  person Nandhakumar Kittusamy    schedule 15.12.2017


Ответы (5)


В сообщении говорится, что «/root/.ssh/known_hosts» не авторизованы_ключи. Удалите из него этот файл (или, по крайней мере, соответствующий ключ), и вы сможете пройти снова! Но имейте в виду, что: Должна быть причина, по которой ключ изменился. Систему переустанавливали? Убедитесь, что вы проверили это, иначе вся идея ssh недействительна.

Кстати: есть ли причина, по которой вы используете ssh как root?

person Nikodemus RIP    schedule 28.12.2011
comment
Удаление соответствующего ключа $ ssh-keygen -R {server.name.com} | $ ssh-keygen -R {ssh.server.ip.address} | $ ssh-keygen -R server.example.com - person DaddyMoe; 09.10.2015
comment
@Nikodemus Эй, когда я удаляю ssh-keygen -f "/root/.ssh/known_hosts" -R instance_ip , теперь отображается ошибка Permission denied (publickey,gssapi-keyex,gssapi-with-mic). Как мне с этим справиться? - person awhitesong; 21.03.2016

используйте следующую команду, которая удаляет старые ключи из файла .ssh/known_hosts

ssh-keygen -R <host>
person Talespin_Kit    schedule 27.11.2012
comment
Если гугл отправил вас сюда, когда вы ищете ответ, почему вы вдруг не можете получить доступ к своему бродячему ящику, этот ответ поможет больше всего. При запуске нового и другого бродячего ящика этот ящик может сгенерировать новый ключ rsa, который будет отличаться от ранее зарегистрированного ключа rsa для того же локального хоста. Если это так, вы можете быть уверены, что изменение является только неприятностью, и вы можете удалить старый недействительный ключ. - person andkrup; 10.03.2015
comment
Не только для Vagrant, если вы переустановите свою машину, ключ изменится. Это кажется самым чистым и безопасным решением. - person Mongus Pong; 21.03.2015
comment
есть идеи, что попробовать, если это не сработает?! - person Stefan; 22.05.2015
comment
Команда не найдена ошибка? - person Talespin_Kit; 22.05.2015
comment
@Talespin_Kit в моем случае просто не удаляется: ssh-keygen -R localhost -> /Users/user/.ssh/known_hosts updated. но строка не удаляется - person skywinder; 25.01.2016

Сообщение объясняет само себя:

  • Удаленный хост идентифицировал себя с помощью ключа
  • Ваша предыдущая копия ключа для этого хоста отличается
  • Так что есть шанс, что удаленный хост не тот, за кого себя выдает.

Если вы доверяете удаленному хосту, вы можете удалить строку 8 из вашего /root/.ssh/known_hosts, и ssh спросит вас, может ли он добавить новый ключ при следующей попытке подключения.

Если вы не доверяете удаленному хосту, вы должны связаться с администраторами хоста, чтобы узнать, изменили ли они ключи ssh и почему. Если нет, значит, ваш трафик перехватывается.

С другой стороны, если вы действительно доверяете удаленному хосту (например, он находится в интрасети), вы можете запустить ssh с помощью

-oBatchMode=yes -oStrictHostKeyChecking=no
person Alftheo    schedule 28.12.2011

Вы можете использовать sed для удаления ошибочного ключа в строке 8 из файла known_hosts:

sed -i -e 8d /root/.ssh/known_hosts
person Pierz    schedule 11.02.2015
comment
Да, это: сделал это для меня! :-) sed -i -e 36d известные_хосты - person Darby; 11.06.2015

Просто сделайте это:

mv .ssh/known_hosts .ssh/known_hosts_old
person user1421092    schedule 20.11.2012
comment
пока лучший ответ! - person Jim; 27.02.2014
comment
Нет причин удалять весь файл, если проблема касается только одного хоста. - person Jian; 07.05.2014
comment
Это кажется неразумным советовать кому-то, кто не знаком с тем, как работают ssh и ключи хоста. Можете ли вы добавить более подробную информацию к своему ответу о том, каковы последствия этого? - person John Zumbrum; 30.11.2014
comment
Согласитесь с @Jian, этот подход сломает все остальные хосты, которые ранее работали, и потребует от вас повторно доверять удаленным серверам. Нехорошо, если вы используете какие-либо пакетные сценарии/автоматизацию. - person Eddie; 05.01.2015