Ошибка «Ошибка проверки ключа хоста» при передаче файлов с помощью команды SCP [дубликат]

Когда я пытаюсь передать файлы с помощью команды SCP, я получаю эту ошибку (Удален мой IP-адрес и ключ RSA):

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
------------------------(RSA key)
Please contact your system administrator.
Add correct host key in /home/users/myaccount/.ssh/known_hosts to get rid of this message.
Offending key in /home/users/myaccount/.ssh/known_hosts:4
RSA host key for 'my IP' has changed and you have requested strict checking.
Host key verification failed.
lost connection

Я использую недавно установленный Ubuntu 12.04, и я может подключиться к этому серверу с помощью ssh. Есть помощь?

15
задан 7 June 2012 в 14:03

3 ответа

Это может легко произойти при подключении к компьютеру, чьи ключи хоста в / etc / ssh были изменены, если этот компьютер был обновлен без копирования его старых ключей хоста. Здесь ключи хоста являются доказательством того, что при повторном подключении к удаленному компьютеру с помощью ssh вы говорите с тем же компьютером, к которому подключались при первом обращении к нему.

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

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

Если компьютер находится под вашим контролем, вы должны скопировать старые ключи хоста из / etc / ssh в новую систему как часть процедуры обновления. (N.B. в этом каталоге есть и файлы ключей, и файлы конфигурации.)

Как только вы поймете, что хотите игнорировать это условие, есть как минимум 2 способа решения этой проблемы.

  • Передайте StrictHostKeyChecking в команде SSH, например (пример):

ssh -o 'StrictHostKeyChecking no' user@host

Вам придется делать это каждый раз. Или ...

  • Удалите сбойный ключ ssh (реальный пример взят из вашего ответа):

sed -i '4d' /home/users/myaccount/.ssh/known_hosts

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

0
ответ дан 7 June 2012 в 14:03

Похоже, что вы скопировали вашу ssh-папку из старой системы в новую.

Откройте терминал и введите:

rm /home/USERNAME/.ssh/known_hosts

Это удалит все «старые» ключи.

0
ответ дан 7 June 2012 в 14:03

Вы должны удалить 4-й ключ ssh из файла /home/users/myaccount/.ssh/known_hosts.

0
ответ дан 7 June 2012 в 14:03

Другие вопросы по тегам:

Похожие вопросы: