При создании или присоединении к кластеру в RELIANOIDсистема обменивается ключами SSH между узлами для установления безопасного соединения.
Если этот обмен не удался, в журналах может появиться следующая ошибка:
(ОШИБКА) кластер :: Не удалось обменять идентификаторы ключей SSH (ОШИБКА) webgui :: Включение кластера: Не удалось обменять идентификаторы ключей SSH
симптомы #
Создание кластера или синхронизация не удается в Система> Кластер раздел веб-интерфейса.
Система > Журналы > syslog (/var/log/syslog) показывает ошибки, похожие на:
ssh-copy-id: ОШИБКА: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ОШИБКА: @ ПРЕДУПРЕЖДЕНИЕ: ИЗМЕНИЛАСЬ ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА! @ ОШИБКА: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ОШИБКА: Ключ хоста для 10.xyz изменился, и вы запросили строгую проверку. ОШИБКА: Не удалось проверить ключ хоста. (ОШИБКА) кластер :: Произошла ошибка копирования ключа Id на хост 10.xyz (ОШИБКА) кластер :: Не удалось обменять ключи SSH Id
Это означает, что ключ удаленного хоста изменился или локальный узел имеет конфликтующую запись в своем SSH. known_hosts .
Вызывать #
Ошибка возникает по причине:
- Удаленный узел кластера был переустановлен, повторно развернут или его ключ хоста SSH был повторно сгенерирован.
- Локальный узел все еще имеет старый отпечаток хоста, сохраненный в
/root/.ssh/known_hosts. - В качестве меры предосторожности SSH отказывается подключаться, поскольку сохраненный ключ не совпадает с новым.
Разрешение #
Удалить старую запись ключа хоста SSH #
На узле, сообщающем об ошибке, выполните:
ssh-keygen -f "/root/.ssh/known_hosts" -R "10.xyx"
Замените 10.xyx с IP-адресом удалённого узла. Примените эту команду к обоим узлам кластера, включая IP-адрес удалённого узла.
Это позволит удалить устаревшие отпечатки пальцев с known_hosts.
Проверьте очистку #
Команда должна сообщить, что записи найдены и удалены. Пример:
# Найден хост 10.xyx: строка 1 # Найден хост 10.xyx: строка 2 # Найден хост 10.xyx: строка 3 Файл /root/.ssh/known_hosts обновлён. Исходное содержимое сохранено как /root/.ssh/known_hosts.old
Удалите ключи RSA на каждом узле. #
Пожалуйста, удалите с каждого узла ключи RSA, которые необходимо сгенерировать заново.
rm -f /root/.ssh/id_rsa*
Обзор хосты.дени файл #
Проверьте, что в сети нет заблокированных хостов. /etc/hosts.deny Файл. Команда ниже должна вывести пустой результат.
grep -v "^#" /etc/hosts.deny
Если ответ не пустой, то отредактируйте файл /etc/hosts.deny и удалите IP-адрес, связанный с удаленным хостом.
Перестройте службу кластера #
Перейти в раздел «Веб-интерфейс» Система> Кластер
Перестройте или повторно включите конфигурацию кластера.
Будет предпринята повторная попытка обмена ключами SSH, которая должна завершиться успешно.
Дополнительные примечания #
Если проблемы продолжают возникать, убедитесь, что:
- Узлы могут связываться друг с другом через SSH (
ssh root@<REMOTE IP>). - Системные часы синхронизированы (используется NTP).
- Никакие правила брандмауэра не блокируют порт 22/TCP между узлами.
После выполнения этих шагов кластер должен успешно собраться без ошибки SSH Keys Ids exchange failed.