Настройка аутентификации SSH по открытым ключам

Для настройки резервного контроллера домена ALD при помощи rsync необходимо настроить аутентификацию SSH по открытым ключам. Эти ключи нужно создать на основном контроллере домена и поместить на резервный контроллер. Синхронизация данных будет производиться от имени пользователя root, поэтому создавать ключи также нужно для пользователя root.

Для создания ключей на основном контроллере домена выполнить команды:

sudo ssh-keygen -t rsa -f /root/.ssh/id_rsa
sudo ssh-ketgen -t dsa -f /root/.ssh/id_dsa

После выполнения команды в каталоге /root/.ssh появятся 4 файла:

  • id_dsa;
  • id_dsa.pub;
  • id_rsa;
  • id_rsa.pub.

Файлы с суффиксом ".pub" - открытые ключи. Их надо скопировать на резервный сервер в такой же каталог /root/.ssh. После этого на резервном сервере нужно сформировать файл /root/.ssh/authorized_keys:


sudo touch /root/.ssh/authorized_keys
sudo chmod 0600 authorized_keys
cat /root/.ssh/id_dsa.pub | sudo tee authorized_keys
cat /root/.ssh/id_rsa.pub | sudo tee -a authorized_keys
sudo rm /root/.ssh/id_dsa.pub /root/.ssh/id rsa.pub
Ограничения.

Чтобы после выхода из строя из строя основного контроллера домена возможно было продолжить работу с резервным, сервер DNS в обязательном порядке должен быть развернут на отдельной от контроллера домена машине.
В DNS должны разрешаться имена основного и резервного контроллеров домена.
Во избежание проблем с расхождением времени рекомендуется, чтобы основной и резервный контроллеры домена синхронизировались с сервером NTP, также развернутом на отдельной машине.
Клиенты DNS должны быть настроены так, чтобы они могли разрешать короткие имена хостов. Для этого в файле /etc/resolv.conf должна быть директива search. Пример:


search example.org


Подготовка основного контроллера домена.

Подготовка основного контроллера домена производится с помощью скрипта main-server-prepare.sh. Скрипт произведет проверку наличия необходимых для работы контроллера домена пакетов. При необходимости отсутствующие пакеты нужно установить и запустить скрипт повторно. Кроме того нужно указать короткое имя резервного сервера и интервал времени в минутах, через который служебные данные будут синхронизироваться с резервным контроллером домена. После этого на основном сервере будет создана cron-задача и скрипт для синхронизации баз данных ldap и kerberos, а также домашние директории пользователей.

Подготовка резервного контроллера домена.

Подготовка резервного контроллера домена производится с помощью скрипта secondary-server-prepare.sh. Скрипт произведет проверку наличия необходимых для работы контроллера домена пакетов. При необходимости отсутствующие пакеты нужно установить и запустить скрипт повторно. Для корректной настройки нужно указать короткое имя основного сервера и интервал времени в минутах, через который будет осуществляться проверка доступности в сети основного контроллера домена. После этого на резервном сервере будет создана cron-задача и скрипт для проверки доступности основного контроллера домена в сети. В случае, когда основной контроллер домена не доступен на резервном сервере будет выполнена подмен ip-адреса и имени, после чего будут запущены сервисы, необходимые для работы контроллера домена ALD.

secondary-server-prepare.sh

main-secondary-switch.sh

main-server-prepare.sh