Добавить в корзинуПозвонить
Найти в Дзене

Ansible в ALT Linux

Ansible — это удобный инструмент для автоматизации настройки серверов и сетевых устройств. Он работает по SSH, не требует установки агента на управляемые хосты и хорошо подходит для задач системного администрирования, когда нужно быстро выполнять одинаковые действия на нескольких машинах. В ALT Linux Ansible можно использовать для управления Linux-серверами, роутерами, виртуальными машинами и другими узлами, если на них доступен SSH-доступ. Такой подход особенно удобен, когда нужно централизованно выполнять команды, устанавливать пакеты, проверять состояние систем и в дальнейшем запускать полноценные playbook’и. Сначала установим пакет: apt-get install ansible После этого на системе появятся основные команды Ansible: ansible, ansible-playbook и вспомогательные утилиты для работы с inventory и подключениями. Для удобной и безопасной аутентификации лучше использовать отдельную SSH-пару ключей. В вашем примере создается ключ manager на базе алгоритма Ed25519: ssh-keygen -t ed25519 -f ~/.s
Оглавление

Ansible — это удобный инструмент для автоматизации настройки серверов и сетевых устройств. Он работает по SSH, не требует установки агента на управляемые хосты и хорошо подходит для задач системного администрирования, когда нужно быстро выполнять одинаковые действия на нескольких машинах.

В ALT Linux Ansible можно использовать для управления Linux-серверами, роутерами, виртуальными машинами и другими узлами, если на них доступен SSH-доступ. Такой подход особенно удобен, когда нужно централизованно выполнять команды, устанавливать пакеты, проверять состояние систем и в дальнейшем запускать полноценные playbook’и.

Установка Ansible

Сначала установим пакет:

apt-get install ansible

После этого на системе появятся основные команды Ansible: ansible, ansible-playbook и вспомогательные утилиты для работы с inventory и подключениями.

Создание SSH-ключа

Для удобной и безопасной аутентификации лучше использовать отдельную SSH-пару ключей. В вашем примере создается ключ manager на базе алгоритма Ed25519:

ssh-keygen -t ed25519 -f ~/.ssh/manager

После выполнения команды будет создан закрытый ключ ~/.ssh/manager и открытый ключ ~/.ssh/manager.pub. Такой вариант удобно использовать именно для Ansible, чтобы отделить автоматизированный доступ от обычного пользовательского SSH-профиля.

Развертывание ключа на узле

Чтобы Ansible мог подключаться без пароля, открытый ключ копируют на целевой хост:

ssh-copy-id -i manager.pub root@192.168.1.1 -p 228

Здесь важно, что SSH-соединение выполняется на нестандартном порту 2026. После копирования ключа аутентификация будет проходить по ключу, а не по паролю, что удобно для автоматизации и снижает ручную нагрузку.

Настройка inventory

Далее нужно описать хосты Ansible в файле inventory. В ALT Linux часто используют файл:

nano /etc/ansible/hosts

Пример содержимого:

[routers]
RTR1 ansible_host=192.168.1.1 ansible_port=228

[routers:vars]
ansible_user=root

[all:vars]
ansible_ssh_private_key_file=~/.ssh/manager

Что означает конфигурация

  • [routers] — группа хостов.
  • RTR1 — имя хоста внутри inventory.
  • ansible_host=192.168.1.1 — реальный IP-адрес устройства.
  • ansible_port=228 — SSH-порт, через который Ansible будет подключаться.
  • [routers:vars] — переменные, общие для всех узлов в группе routers.
  • ansible_user=root — пользователь для подключения.
  • [all:vars] — переменные, применяемые ко всем хостам.
  • ansible_ssh_private_key_file=~/.ssh/manager — путь к приватному ключу, который Ansible будет использовать при подключении.

В статье стоит отметить, что имя группы и имя хоста могут быть любыми, главное — чтобы они были понятны администратору и соответствовали реальной инфраструктуре.

Проверка подключения

После настройки inventory можно проверить соединение:

bashansible all -m ping

Эта команда запускает стандартный модуль ping на всех хостах из inventory и показывает, доступны ли узлы по SSH и может ли Ansible успешно выполнить удаленную команду.

Если настройка выполнена правильно, Ansible вернет ответ с pong, что означает успешное подключение.