4

Я получаю замечательное «Подлинность хоста xx не может быть установлена». сообщение при попытке SSH в ящик. У меня есть две системы, которые недавно поменялись именами. Моя система - коробка RHEL5.6.

System X с IP xx
Система Y с IP уу
Изменено на System X с IP yy, на систему Y с IP xx.
(надеюсь, это достаточно просто, чтобы объяснить, что мы сделали)

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

Я полностью очистил файл known_hosts, а также перезагрузил систему, пытаясь решить проблему, но безуспешно.

Есть идеи? Я в тупике! Это происходит только в моей системе, ни у кого больше нет проблем.

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

Я узнал, что у моей коллеги тоже есть та же проблема с той же коробкой. И только эта одна коробка.

Так что, если наши файлы зон DNS верны, откуда это может быть? Ни одна из систем, участвующих в этом изменении, не содержит старой информации. наш DNS выглядит чистым. Наши аккаунты не ссылаются на старую информацию. tracert показывает старый IP-адрес с именем, как ping, а затем ssh. Но nslookup, использующий вперед или назад, возвращается правильно. Вроде расстраивает.

4 ответа4

3

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

Если ssh шифрует адрес, SSH хранит два ключа, один по IP, а другой по имени. Попробуйте удалить IP-адреса. Как отметил PriceChild, вы должны получить сообщение с указанием строки, которая нарушает правила в файлах known_hosts . Вы можете попробовать удалить IP-адреса из файлов известных узлов, используя ssh-keygen -R yy и ssh-keygen -R xx .

1

Вот пример моего собственного ssh-соединения, не проходящего проверку ключа хоста:

[user@host path]$ ssh hostname
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for pricey-host has changed,
and the key for the according IP address 192.168.32.21
is unchanged. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
Offending key for IP in /home/nagios/.ssh/known_hosts:4
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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
2e:61:87:cd:e6:e0:08:72:84:ea:80:56:19:12:62:89.
Please contact your system administrator.
Add correct host key in /home/nagios/.ssh/known_hosts to get rid of this message.
Offending key in /home/nagios/.ssh/known_hosts:15
RSA host key for pricey-host has changed and you have requested strict checking.
Host key verification failed.

Важной строкой является «Ключ обидения в /home/nagios/.ssh/known_hosts:15», который сообщает вам точный файл и номер строки. Вы не видите это сообщение?

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

1

Вот решение вашей проблемы:

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

remote hostname is server.example.com, enter:
$ ssh-keygen -R {server.name.com}
$ ssh-keygen -R {ssh.server.ip.address}
$ ssh-keygen -R server.example.com**strong text**




Sample output:

/home/vivek/.ssh/known_hosts updated.
Original contents retained as /home/vivek/.ssh/known_hosts.old

Вы также можете проверить эту ссылку для получения дополнительной информации: SSH Host Key Change Error

0

У меня была такая же проблема, после того как я изменил IP-адрес одного из серверов, отслеживаемых Nagios3, и, поскольку у пользователя nagios нет папки .ssh, нет известных_хостов, которые можно удалить ... это в Debian.

Итак, решение оказалось довольно простым, просто перейдите на сервер, который вы пытаетесь отслеживать, и перезапустите сервер nrpe, на Debian я делаю это так:

/etc/init.d/nagios-nrpe-server restart

и это решило проблему сразу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .