Для работы скрипта необходим доступ в сеть Inernet.
Необходимо скопировать архив ssh-changer-main.zip в раздел /root на гипервизор кластера с СГУ или же на любом ПК с ОС Linux, который имеет сетевую связность с хостами. Распаковать содержимое архива ssh-changer-main.zip
Блок кода |
---|
unzip ssh-changer-main.zip |
Перейти внутрь каталога с распакованным архивом:
Блок кода |
---|
cd ssh-changer-main |
Создать локальное окружение для python:
Блок кода |
---|
python3 -m venv .venv |
Активировать виртуальное окружение:
Блок кода |
---|
source .venv/bin/activate |
Установить необходимые зависимости для работы:
Блок кода |
---|
pip install -r requirements.txt |
Установить роли ansible:
Блок кода |
---|
./dependencies.sh |
(может вернуть сообщение, что всё уже установлено)
Создать файл хостов, на которых надо заменить ключи, можно воспользоваться файлом-примером:
Блок кода |
---|
cp hosts.ini.sample hosts.ini |
Подготовить (отредактировать по образцу) файл hosts.ini, указав реальные данные серверов:
Если серверов больше 3-х дописать строки по образцу, указывая сервера по порядку (server4 server5 и т.д.). Указывать реальные hostname серверов необязательно
В значении ansible_host для каждого сервера указать его реальный IPv4 адрес
Запустить выполнение роли по созданию и смене ключей:
Блок кода |
---|
ansible-playbook -i hosts.ini site.yml |
Убедиться в корректности отработки роли по выводу в терминале в блоке PLAY RECAP, должны отсутствовать записи failed=1
Роль самостоятельно сгенерирует приватные и публичные ключи во вложенном каталоге keys и установит на сервера, чьи IPv4 адреса были указаны в файле hosts.ini