Назад | Перейти на главную страницу

Идентификация удаленного хоста изменилась

Я пытаюсь вручную подключить serverpilot на облачном сервере в OVH (unbuntu 16) через терминал на моем Mac (ssh root@vpsXXX.ovh.net)

Операция не удалась один раз, и теперь, когда я пытаюсь ее повторно настроить, я получаю сообщение об ошибке «ВНИМАНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ!»

Я прочитал в блоге, что печатал ssh-keygen -R hostname может решить проблему, но когда я это сделаю, я получаю сообщение "Host hostname not found in /Users/GregMac/.ssh/known_hosts"

Есть идеи, как это решить? (Я новичок в настройке сервера и командных строках ... поэтому я рассчитывал на serverpilot)

Спасибо

Краткий ответ

Это файл, который был изменен с момента последней попытки доступа к SSH-серверу, работающему на этом хосте. Этот файл

/Users/whateveryourusernameis/.ssh/known_hosts

Где-то в этом файле есть запись, только одна строка, начинающаяся с хоста, которого вы пытались достичь в скобках, например [vpsXXX.ovh.net].

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

Более длинный ответ, позвонили

SSH - это самый простой инструмент на поясе системного администратора, и как это устроено заслуживает вашего внимания.

Когда вы обращаетесь к ssh-серверу, одним из первых шагов, которые предпринимает сервер, является предоставление ssh-клиенту его собственного открытого ключа хоста. Этот ключ обычно добавляется к клиентскому ~/.ssh/known_hosts файл, так что если этот ключ изменится между различными сеансами ssh, клиент будет предупрежден о том, что хост больше не является исходным хостом, с которым он связывался раньше. Это предупреждает вас о том, что хост, которого вы достигли, возможно, является самозванцем, если вы уже не знаете без сомнения, что хост на самом деле изменился.

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

  • Был развернут новый сервер (или образ машины и т. Д.), А IP-адрес или доменное имя, которые когда-то указывали на прежний сервер, были изменены, чтобы указывать на новый сервер (что типично, особенно в облачных средах).
  • Кто-то изменил или удалил публичный ключ хоста на машине. Я сразу задаюсь вопросом, почему, поскольку обычно нет причин для - одним исключением могут быть чрезвычайно строгие процедуры безопасности, которые так часто меняют ключ. Даже если это так, я бы ожидал, что новый отпечаток открытого ключа будет распространен, чтобы избежать этой ошибки в этом случае.
  • Кому-то удалось перехватить ваш трафик, отправленный на этот IP-адрес или доменное имя, и направить его на свой собственный сервер либо в непродуманной попытке организовать атаку MITM SSH, либо, что более вероятно, они попытались вставить себя для сбора трафик на отдельный порт и протокол (например, HTTPS).

Если вы работаете в облачной среде, новые образы машин и экземпляры постоянно меняются местами, чтобы заменить старые. Таким образом, способ удалить предупреждение и продолжить SSH-соединение с вашим новым хостом - просто удалить неправильную строку со старым отпечатком пальца с вашего компьютера. ~/.ssh/known_hosts файл. Согласно хорошей практике, лучше удалить это, как только вы узнаете, что произошла замена, а затем войти в систему один раз, чтобы подтвердить и сохранить новый ключ хоста.

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

Постскриптум (или проверка сбоев ssh-keygen -R)

я нашел похожая страница на ту, что вы сделали, и было примечание о новом поведении, которое может изменить идентификацию открытого ключа хоста на некоторое хешированное значение, о котором я раньше не слышал - а не [vpsXXX.ovh.net], это может выглядеть как [BF8JDF9SS@67IX] вместо. Если это так и вы не слишком много редактируете, вы можете шаг файл known_hosts, подключитесь через ssh, и это создаст новый файл с одной строкой. Который строка будет иметь правильное хешированное значение домена или IP-адреса, к которому вы подключились, и поэтому вы замените старый ключ хоста новым из вашего вновь созданного файла. Переместите отредактированный файл known_hosts обратно на место и вуаля - вы обновили сохраненный открытый ключ хоста для этого соединения.