У меня есть сервер Linux, который при каждом подключении показывает сообщение об изменении ключа хоста SSH:
$ ssh root @ host1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @ ВНИМАНИЕ: УДАЛЕННАЯ ИДЕНТИФИКАЦИЯ ХОСТА ИЗМЕНИЛАСЬ! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ ВОЗМОЖНО, ЧТО-то кто-то делает противное! Кто-то может подслушивать вас прямо сейчас (атака «человек посередине»)! Также возможно, что ключ хоста RSA был только что изменен. Отпечаток ключа RSA, отправленный удаленным хостом, составляет 93: a2: 1b: 1c: 5f: 3e: 68: 47: bf: 79: 56: 52: f0: ec: 03: 6b. Пожалуйста, обратитесь к системному администратору. Добавьте правильный ключ хоста в /home/emerson/.ssh/known_hosts, чтобы избавиться от этого сообщения. Оскорбительный ключ в /home/emerson/.ssh/known_hosts:377
Ключ хоста RSA для host1 изменился, и вы запросили строгую проверку. Ошибка проверки ключа хоста.
Он удерживает меня в течение нескольких секунд, после чего он закрывает соединение.
host1: ~ / .ssh # Чтение с удаленного хоста host1: Соединение установлено равноправным узлом Соединение с host1 закрыто.
Кто-нибудь знает, что происходит и что я мог сделать, чтобы решить эту проблему?
Ответы:
Пожалуйста, не удаляйте весь файл known_hosts в соответствии с рекомендациями некоторых людей, это полностью лишает смысла предупреждения. Это функция безопасности, которая предупреждает вас о возможном нападении человека в середине атаки.
Я предлагаю вам определить, почему он думает, что что-то изменилось, скорее всего, обновление SSH изменило ключи шифрования из-за возможной дыры в безопасности. Затем вы можете удалить эту конкретную строку из вашего файла known_hosts:
Это д eletes линии 377 , как показано после двоеточия в предупреждение:
В качестве альтернативы вы можете удалить соответствующий ключ, выполнив следующее
Пожалуйста, НЕ удаляйте весь файл и убедитесь, что это действительно тот компьютер, к которому вы хотите подключиться, перед тем как очищать конкретный ключ.
источник
Я думаю, что хотя некоторые из ответов здесь касаются рекомендуемого курса действий в вопросе ФП, он не полностью отвечает на вопрос.
Вопрос гласит: «Как убрать строгую проверку ключа RSA в SSH и в чем здесь проблема?»
Проблема здесь заключается в том, что, как советуют некоторые другие, изменение хоста, вероятно, связано с переустановкой сервера (наиболее распространенный сценарий). И действительно, рекомендуемое решение - удалить поврежденный ключ из файла .ssh / authorized_keys с помощью встроенного sed.
Однако я не видел никаких ответов на конкретную часть вопроса « Как удалить строгую проверку ключа RSA в SSH ».
Вы можете удалить проверку StrictHostKey в файле конфигурации ssh, который обычно хранится в
~/.ssh/config
.Пример хост-блока представлен ниже:
Специально добавленная строка является последней,
StrictHostKeyChecking no
которая делает то, что это. В зависимости от вашего конкретного сценария это может быть полезно для вас, например, запуск нескольких виртуализированных контейнеров на выделенном сервере, только на нескольких ips, остановка и запуск другого экземпляра на том же ip.источник
Еще один способ удалить StrictHostKeyChecking, когда вам нужно сделать это только для одного сервера:
источник
Прежде всего, это ваша машина? Вы сознательно меняли ключи хоста? В противном случае я был бы очень обеспокоен, что что-то изменило эти данные.
Во-вторых, включите отладку ssh,
и посмотрите, что это говорит вам, также попробуйте заглянуть в / var / log / secure и / var / log / messages на сервере, к которому вы пытаетесь подключиться для подсказок, sshd выдает хорошие сообщения об ошибках.
В-третьих, эта машина подключена к Интернету? Должны ли вы действительно разрешать вход с правами root?
источник
Вы получаете это, потому что что-то изменилось (например, новая сетевая карта, новый IP-адрес, изменение программного обеспечения сервера и т. Д.). В фокусе безопасности есть хорошая статья о защите ключей хоста SSH .
Просто удалите ключ (используя SFTP или аналогичный) с сервера, отредактировав
$HOME/.ssh/known_hosts
файл, и примите новый при следующем подключении.Возможно, ваше соединение прерывается из-за настройки StrictHostKeyChecking. Смотрите эту тему для аналогичной проблемы.
источник
Поскольку «хост» [в широком смысле, это может быть все, от переустановки / мультизагрузки до совершенно другого компьютера с IP-адресом, к которому вы, например, подключались ранее], клиент ssh изменился, что дает вам ошибка.
Нет необходимости отключать строгую проверку, также не имеет смысла полное удаление сохраненных ключей.
Вполне возможно иметь два разных ключа, перечисленных в known_hosts для конкретного имени хоста или IP-адреса; предоставляя вам 2 варианта в зависимости от того, считаете ли вы, что вам может понадобиться «старый» ключ, который в данный момент хранится в known_hosts
Либо удалите конкретный ключ, на который он ссылается, в l377 of known_hosts для OP, либо оставьте оба
Самый простой способ сохранить оба, избегая удаления ключей в known_hosts, это
больше ответов в "Добавить правильный ключ хоста в known_hosts" / несколько ключей SSH хоста для имени хоста?
источник