Исправление ошибки «ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ!» на стороне сервера

Исправление ошибки «ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ!» на стороне сервера

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

Я знаю, что это значит, и я точно знаю, что делаю.

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

Таким образом, мне нужно максимально исключить предупреждение со стороны клиента. В противном случае мне придется ~/known_hostsбез необходимости переворачивать файл туда-сюда.

Так как же установить отпечаток пальца/ключ ECDSA моего нового сервера таким же, как и раньше?

решение1

Обновление: Немного подумав, я думаю, что изменю свою рекомендацию на копирование только файлов ключей и записей конфигурации, которые ссылаются на них. Все файлы ключей находятся в /etc/ssh/, и имеют имена, ssh_host_<keytype>_keyи каждый имеет соответствующий файл открытого ключа с .pubрасширением. Вот пример с ключами dsa, ecdsa, ed25519 и rsa:

$ cd /etc/ssh
$ ls -l ssh_host_*key*
-rw------- 1 root root  668 Apr  8 03:43 ssh_host_dsa_key
-rw-r--r-- 1 root root  606 Apr  8 03:43 ssh_host_dsa_key.pub
-rw------- 1 root root  227 Apr  8 03:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root  178 Apr  8 03:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root  411 Apr  8 03:43 ssh_host_ed25519_key
-rw-r--r-- 1 root root   98 Apr  8 03:43 ssh_host_ed25519_key.pub
-rw------- 1 root root 1679 Apr  8 03:43 ssh_host_rsa_key
-rw-r--r-- 1 root root  398 Apr  8 03:43 ssh_host_rsa_key.pub

И могут быть HostKeyзаписи в /etc/ssh/sshd_config, сообщающие sshd использовать их. В моем случае это просто файлы по умолчанию, поэтому соответствующие строки закомментированы:

$ grep HostKey /etc/ssh/sshd_config 
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

Вы должны иметь возможность клонировать файлы ключей с исходного сервера (убедитесь, что они соответствуют старым разрешениям), и если есть некомментированные HostKeyзаписи, вы должны добавить их в новый файл конфигурации sshd_config. Если у вас есть какие-либо другие настройки, отличные от настроек по умолчанию, вы также захотите скопировать их.

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

Например, в вашей старой конфигурации может не быть файла /etc/ssh/moduli с пользовательскими модулями Диффи-Хеллмана, а новая версия ОС может не сгенерировать его автоматически. Это может быть проблемой, поскольку модуль по умолчанию не очень безопасен, и поскольку все использовали один и тот же, атака на него была атакой на всех. Смотритездесьиздесьдля получения более подробной информации.

Если ваша «старая» конфигурация сервера не слишком старая, она уже должна иметь пользовательский файл модулей, но это всего лишь пример; вероятно, есть и другие вещи, которые следует обновить, поэтому использование практически новой конфигурации, вероятно, будет лучше. Кстати, использование других модулей не вызовет ошибку типа «ID CHANGED», поэтому, если этот файл существует на старом сервере, вам не нужно его копировать.

Связанный контент