3

Я подключаюсь к серверу на основе циклического имени хоста DNS - «login.example.com» может перейти на любой из нескольких серверов. В идеале я хотел бы иметь возможность обновить мой файл known_hosts так, чтобы доступ к любой из машин был возможен без предупреждения / ошибки, хотя я предполагаю, что запасной вариант был бы, если бы был какой-либо способ, чтобы все серверы имели одинаковый отпечаток / ключ хоста. Я видел сообщения , как это , но «выбрать один статический IP - адрес для входа в» это не вариант. Я бы хотел реальное решение, если оно есть.

3 ответа3

3

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

Это означает, что ваша проверка ключа хоста SSH точно скажет вам, что он находится в кластере, но не скажет вам точно, какой именно машиной в кластере он является. Вы можете полагаться на статический IP-адрес (или вывод имени hostname) в качестве незащищенного способа различать машины в кластере.

1

Это то, что я нашел работы ...

  1. удалите все существующие записи для хоста в ~/.ssh/known_hosts
  2. Получите полный список IP-адресов, на которые указывает хост, а затем укажите каждый IP-адрес ...
ssh-keyscan -H -t rsa 10.X.X.X >> ~/.ssh/known_hosts

тогда вы не увидите проблему снова ... если вы используете имя хоста с

имя хоста ssh.

г

0

Нет действительно хорошего способа сделать это, так как ssh создан, чтобы убедиться, что нет риска подделки DNS. Тем не менее, вы можете использовать этот обходной путь:

ssh $(nslookup login.example.com | grep -v '#' | grep -m1 '^Address:' | cut -d \  -f 2)

В основном это будет искать ip, а затем использовать IP-адрес вместо имени хоста, это должно устранить ваши проблемы, если сервер также не изменит IP-адреса.

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