2011-12-28 7 views
60

Я не могу использовать ssh и rysnc для удаленной системы. Она продолжает давать это сообщение об ошибке:Ubuntu-ssh - - ПРЕДУПРЕЖДЕНИЕ: ИДЕНТИФИКАЦИЯ REMOTE HOST ИЗМЕНЕНА

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.

+0

Также, пожалуйста, проверьте сообщение об ошибке Rsync, SSH: подключиться к хосту xxx.xxx.xxx.xxx порт 22: Соединение отклонено rsync: соединение неожиданно закрыто (0 байт получено до сих пор) [отправитель] Ошибка rsync: необъяснимая ошибка (код 255) в io.c (601) [sender = 3.0.8] – thiyagu114

+0

если это не производственная система, то вы может сделать truncate -s 0 /root/.ssh/known_hosts – AMB

+0

https://in.godaddy.com/help/ssh-login-warning-remote-host-identification-has-changed-12161 – NandhaKumar

ответ

63

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

BTW: Есть ли причина, по которой вы ssh как корень?

+0

Удаление соответствующих key '' '$ ssh-keygen -R {server.name.com}' '' | '' '$ ssh-keygen -R {ssh.server.ip.address}' '' | '' '$ ssh-keygen -R server.example.com''' – DaddyMoe

+0

@Nikodemus Эй, когда я удаляю' ssh-keygen -f '/root/.ssh/known_hosts "-R instance_ip', он теперь показывает ошибку 'Permission denied (publickey, gssapi-keyex, gssapi-with-mic).' Как мне с этим справиться? – awhitesong

20

сообщение действительно объясняет себя:

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

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

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

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

-oBatchMode=yes -oStrictHostKeyChecking=no 
6

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

mv .ssh/known_hosts .ssh/known_hosts_old 
+1

безусловно лучший ответ! – Jim

+12

Нет причин для удаления всего файла, когда проблема является всего лишь одним хостом. – Jian

+2

Это кажется неразумным советом кому-то, кто не знаком с тем, как работают ssh и ключи хоста. Можете ли вы добавить более подробные сведения к своему ответу, для чего это имеет значение? –

120

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

ssh-keygen -R <host> 
+4

Если Google отправил вас сюда, ища ответ на вопрос, почему вы вдруг не можете получить доступ к своей бродяжнейшей коробке, этот ответ поможет больше всего. При запуске нового и другого бродячего окна это поле может генерировать новый ключ rsa, который будет отличаться от ранее зарегистрированного rsa-ключа для того же локального хоста. Если это так, вы можете быть уверены, что это изменение является всего лишь неприятным, и вы можете удалить старый недействительный ключ – andkrup

+1

Не только для Vagrant, если вы переустановите свою машину, ключ изменится. Это кажется самым чистым и надежным решением. –

+0

любые идеи о том, что попробовать, если это не сработает ?! – Stefan

11

Вы можете использовать СЭД, чтобы удалить ключ обижая в строке 8 из файла known_hosts:

sed -i -e 8d /root/.ssh/known_hosts 
+0

Да, это: сделало это для меня ! :-) sed -i -e 36d known_hosts – Darby

+0

Работал отлично для меня –

Смежные вопросы