Топология сети:
Здесь linuxhint-711ea это машина Ubuntu 20.04 LTS, на которую я буду устанавливать Ansible.
Затем я настрою хосты host1 (IP-адрес 192.168.20.162) и host2 (IP-адрес 192.168.20.153) для автоматизации Ansible и запускать на них команды с помощью Ansible из linuxhint-711ea машина.
Я просто позвоню host1 а также host2 в качестве хостов Ansible в этой статье.
Установка Ansible:
Вы можете легко установить Ansible на Ubuntu 20.04 LTS из официального репозитория пакетов Ubuntu.
Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:
$судоподходящее обновление
Кэш репозитория пакетов APT должен быть обновлен.
Теперь установите Ansible с помощью следующей команды:
$судоподходящийустановитьанзибльДля подтверждения установки нажмите А ТАКЖЕ а затем нажмите .
Должен быть установлен Ansible.
Теперь выполните следующую команду, чтобы проверить, правильно ли работает ansible.
$анзибль--версияКак видите, команда ansible доступна и работает корректно.
Генерация ключа SSH:
Теперь вам нужно сгенерировать SSH-ключ на компьютере, на котором вы установили Ansible.
Чтобы сгенерировать SSH-ключ, выполните следующую команду:
$ssh-keygenТеперь нажмите .
Нажмите .
Нажмите .
Должен быть сгенерирован ключ SSH.
Настройка хостов Ubuntu для Ansible Automation:
В этом разделе я покажу вам, как настроить хост Ubuntu ( host1 ) для автоматизации Ansible. Если у вас более одного хоста, который вы хотите автоматизировать с помощью Ansible, повторите тот же процесс на каждом из хостов.
На хостах Ubuntu Ansible (которые вы хотите настроить для автоматизации Ansible) должен быть установлен пакет сервера SSH.
Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:
$судоподходящее обновлениеЗатем установите сервер OpenSSH с помощью следующей команды:
$судоподходящийустановитьopenssh-сервер-а такжеВ моем случае пакет сервера OpenSSH уже установлен. Если в вашем случае он не установлен, его следует установить.
Теперь проверьте, есть ли sshd служба запускается с помощью следующей команды:
$судоsystemctl status sshdКак видите, sshd услуга активный (бег) и включено (автоматически запускается при загрузке системы).
Если sshd сервис не активный (работает) в вашем случае, запустите его вручную с помощью следующей команды:
$судоsystemctl start sshdЕсли sshd сервис не включено (не добавляется в автозагрузку системы) в вашем случае добавьте его в автозагрузку системы вручную с помощью следующей команды:
$судоsystemctlвключитьsshdТеперь настройте брандмауэр, чтобы разрешить доступ по SSH, с помощью следующей команды:
$судоufw разрешитьsshВам также следует создать анзибль пользователя и разрешите sudo доступ без пароля к анзибль Пользователь.
Чтобы создать анзибль пользователь, выполните следующую команду:
$судоаддуктор анзибльТеперь введите пароль для анзибль пользователь и нажмите .
Теперь введите пароль еще раз и нажмите .
Теперь нажмите .
Теперь нажмите .
Теперь нажмите .
Теперь нажмите .
Теперь нажмите .
Теперь введите а также а затем нажмите .
An анзибль пользователь должен быть создан.
Теперь настройте доступ sudo без пароля к анзибль пользователем с помощью следующей команды:
$выбросил 'ansible ALL = (ВСЕ) NOPASSWD: ALL' | судо тройник /так далее/sudoers.d/анзибльТеперь найдите IP-адрес хоста Ansible ( host1 ) с помощью следующей команды:
$имя хоста -ЯЗдесь IP-адрес в моем случае 192.168.20.162 . Для вас все будет иначе. Так что не забудьте заменить его своей формой.
Теперь с компьютера, на котором вы установили Ansible, скопируйте открытый ключ SSH на хост Ansible ( host1 ) следующее:
$ssh-copy-id доступный@192.168.20.162Введите да и нажмите .
Теперь введите пароль для анзибль пользователь и нажмите .
Публичный ключ SSH следует скопировать в host1 .
Теперь отключите вход на основе пароля для анзибль пользователем с помощью следующей команды:
$судоusermod-ГОанзибльТеперь вы можете подключиться к хосту Ansible только по SSH ( host1 ) в качестве анзибль пользователь без пароля с компьютера, с которого вы скопировали открытый ключ SSH (в данном случае компьютер, на котором вы установили Ansible). Но вы не сможете подключиться по SSH к хосту Ansible ( host1 ) в качестве анзибль пользователь с любого другого компьютера. Я настроил хосты Ansible таким образом из соображений безопасности. Как анзибль пользователю не нужен пароль для выполнения административных команд, разрешать вход на основе пароля для анзибль Пользователь.
Теперь у вас должна быть возможность подключиться по SSH к доступному хосту. host1 с компьютера, на котором вы установили Ansible, следующим образом:
$sshанзибль@192.168.20.162Как видите, я могу получить доступ к хосту Ansible ( host1 ) как доступный пользователь без пароля. Итак, хост Ansible ( host1 ) готов к автоматизации Ansible.
Если по какой-то причине вы хотите разрешить вход на основе пароля для анзибль пользователь снова, выполните следующую команду на хосте Ansible ( host1 ):
$судоusermod-UанзибльТаким же образом вы можете настроить любое количество хостов для автоматизации Ansible.
В этой статье я настроил только 2 хоста, host1 а также host2 для демонстрации.
Тестирование Ansible:
Теперь создайте новый каталог проекта ~ / ansible-demo / на компьютере, на котором вы установили Ansible, выполните следующие действия:
$mkdir~/ансибл-демоТеперь перейдите к ~ / ansible-demo / каталог следующим образом:
$CD~/ансибл-демо/Теперь создайте новый хозяева файл в каталоге проекта следующим образом:
$нанохозяеваТеперь введите IP-адреса или DNS-имена хостов Ansible ( host1 а также host2 в моем случае) в хозяева файл следующим образом:
192.168.20.162192.168.20.153
Теперь сохраните файл, нажав + X с последующим А ТАКЖЕ а потом .
Теперь попробуйте пропинговать все хосты с помощью Ansible следующим образом:
$анзибль все-я./хозяева-uанзибль-м пингЗАМЕТКА: Здесь опция -u используется для указания имени пользователя (в данном случае доступного), которое Ansible будет использовать для SSH на хостах.
Как видите, пингуются все хосты. Итак, хосты готовы к автоматизации Ansible.
Таким же образом вы можете запустить любую команду на хостах с помощью Ansible следующим образом:
$анзибль все-я./хозяева-uанзибль-моболочка-к 'echo' $ (имя хоста) - $ (имя хоста -I) ''Как видите, команда успешно выполнилась на каждом из хостов, и вывод отображается.
Итак, вот как вы устанавливаете Ansible в Ubuntu 20.04 LTS и настраиваете хосты Ubuntu 20.04 LTS для автоматизации Ansible. Спасибо, что прочитали эту статью.