Назад | Перейти на главную страницу

Проблемы проверки ключа хоста SSH с использованием VIP

У нас есть 2 рабочих сервера на VIP, только один используется одновременно, например:

myservice.mycompany.uk обычно указывает на server1, в случае сбоя server1 он указывает на server2.

Есть некоторые другие серверы, которым необходимо отправлять файлы на myservice.mycompany.uk через SFTP, и это должно быть полностью прозрачным для них, если мы перейдем на server2.

Проблема в том, что, хотя ключи установлены как на server1, так и на server2, на других серверах будут проблемы с проверкой ключа хоста, потому что ключ хоста server2 отличается от ключа хоста server1. Это вызывает ошибку безопасности (поскольку включена строгая проверка), и для ее работы необходимо удалить строку из known_hosts.

Наш ИТ-специалист предложил создать 2 записи в known_hosts, одну с ключом для server1 и одну с server2, обе с хостом myservice.mycompany.uk.

Это сработает? Как это можно сделать с помощью putty / psftp в Windows? Поскольку ключ хоста хранится в реестре, дублирование имен не допускается. Есть ли лучший способ, например, заставить серверы иметь один и тот же ключ хоста?

Чтобы упростить работу для клиентов, я бы просто использовал один и тот же ключ хоста на обеих машинах. Просто скопируйте один из ключей (тот, который используется в данный момент на сервере) на вторую машину. Они ключи находятся в /etc/ssh/ssh_host_*.

Другой вариант - отключить проверку ключей хоста на клиентах. Это можно сделать, настроив их ssh_config использовать:

Host myservice.mycompany.uk
    StrictHostKeyChecking

Я заархивировал это таким образом, пользователь root запускает один сценарий в 23:00, который подключается к логическому IP-адресу кластера Linux, поэтому в случае переключения IP-адреса мой отпечаток ssh изменится

echo "StrictHostKeyChecking no" >> /root/.ssh/config 
echo "UserKnownHostsFile /dev/null" >> /root/.ssh/config

Таким образом, настройка только для root