Топология сети:
Здесь 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 с помощью следующей команды:
$ sudo подходящее обновление
Кэш репозитория пакетов APT должен быть обновлен.
Теперь установите Ansible с помощью следующей команды:
$ sudo apt install ansible
Для подтверждения установки нажмите Y а затем нажмите
Ansible должен быть установлен.
Теперь запустите следующую команду, чтобы проверить, правильно ли работает ansible.
$ ansible --versionКак видите, команда ansible доступна и работает корректно.
Генерация ключа SSH:
Теперь вам нужно сгенерировать SSH-ключ на компьютере, на котором вы установили Ansible.
Чтобы сгенерировать SSH-ключ, выполните следующую команду:
$ ssh-keygen
Теперь нажмите
Нажмите
Нажмите
Должен быть сгенерирован ключ SSH.
Настройка хостов Ubuntu для Ansible Automation:
В этом разделе я покажу вам, как настроить хост Ubuntu (host1) для автоматизации Ansible. Если у вас более одного хоста, который вы хотите автоматизировать с помощью Ansible, повторите тот же процесс на каждом из хостов.
На хостах Ubuntu Ansible (которые вы хотите настроить для автоматизации Ansible) должен быть установлен пакет SSH-сервера.
Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:
$ sudo подходящее обновление
Затем установите сервер OpenSSH с помощью следующей команды:
$ sudo apt установить openssh-server -y
В моем случае уже установлен пакет сервера OpenSSH. Если в вашем случае он не установлен, его следует установить.
Теперь проверьте, есть ли sshd служба запускается с помощью следующей команды:
$ sudo systemctl status sshdКак видите, sshd услуга активный (бег) и включено (автоматически запускается при загрузке системы).
Если sshd сервис не активный (работает) в вашем случае, запустите его вручную с помощью следующей команды:
$ sudo systemctl start sshdЕсли sshd сервис не включено (не добавляется в автозагрузку системы) в вашем случае добавьте его в автозагрузку системы вручную с помощью следующей команды:
$ sudo systemctl включить sshdТеперь настройте брандмауэр, чтобы разрешить доступ по SSH, с помощью следующей команды:
$ sudo ufw разрешить ssh
Вам также следует создать анзибль пользователя и разрешите sudo доступ без пароля к анзибль Пользователь.
Чтобы создать анзибль пользователь, выполните следующую команду:
$ sudo adduser ansible
Теперь введите пароль для анзибль пользователь и нажмите
Теперь введите пароль еще раз и нажмите
Теперь нажмите
Теперь нажмите
Теперь нажмите
Теперь нажмите
Теперь нажмите
Теперь введите у а затем нажмите
An анзибль пользователь должен быть создан.
Теперь настройте доступ sudo без пароля к анзибль пользователем с помощью следующей команды:
$ echo "ansible ALL = (ALL) NOPASSWD: ALL" | Судо тройник / и т. д. / sudoers.д / анзибль
Теперь найдите IP-адрес хоста Ansible (host1) с помощью следующей команды:
$ hostname -IЗдесь IP-адрес в моем случае 192.168.20.162. Для тебя будет иначе. Поэтому не забудьте заменить его на свою форму сейчас на.
Теперь с компьютера, на котором вы установили Ansible, скопируйте открытый ключ SSH на хост Ansible (host1) следующим образом:
$ ssh-copy-id доступный @ 192.168.20.162
Печатать да и нажмите
Теперь введите пароль для анзибль пользователь и нажмите
Публичный ключ SSH следует скопировать в host1.
Теперь отключите вход на основе пароля для анзибль пользователем с помощью следующей команды:
$ sudo usermod -L доступный
Теперь вы можете подключиться к хосту Ansible только по SSH (host1) в виде анзибль пользователь без пароля с компьютера, с которого вы скопировали открытый ключ SSH (в данном случае компьютер, на котором вы установили Ansible). Но вы не сможете подключиться по SSH к хосту Ansible (host1) в виде анзибль пользователь с любого другого компьютера. Я настроил хосты Ansible таким образом из соображений безопасности. Как анзибль пользователю не нужен пароль для выполнения административных команд, разрешать вход на основе пароля для анзибль Пользователь.
Теперь у вас должна быть возможность подключиться по SSH к доступному хосту host1 с компьютера, на котором вы установили Ansible, следующим образом:
$ ssh ansible @ 192.168.20.162
Как видите, я могу получить доступ к хосту Ansible (host1) как доступный пользователь без пароля. Итак, хост Ansible (host1) готов к автоматизации Ansible.
Если по какой-то причине вы хотите разрешить вход на основе пароля для анзибль пользователь снова, выполните следующую команду на хосте Ansible (host1):
$ sudo usermod -U доступный
Таким же образом вы можете настроить любое количество хостов для автоматизации Ansible.
В этой статье я настроил всего 2 хоста, host1 а также host2 для демонстрации.
Тестирование Ansible:
Теперь создайте новый каталог проекта ~ / ansible-demo / на компьютере, на котором вы установили Ansible, выполните следующие действия:
$ mkdir ~ / ansible-demo
Теперь перейдите к ~ / ansible-demo / каталог следующим образом:
$ cd ~ / ansible-demo /
Теперь создайте новый хозяева файл в каталоге проекта следующим образом:
$ nano хосты
Теперь введите IP-адреса или DNS-имена хостов Ansible (host1 а также host2 в моем случае) в хозяева файл следующим образом:
192.168.20.162192.168.20.153
Теперь сохраните файл, нажав
Теперь попробуйте пропинговать все хосты с помощью Ansible следующим образом:
$ ansible all -i ./ hosts -u ansible -m пингПРИМЕЧАНИЕ: Здесь параметр -u используется для указания имени пользователя (в данном случае доступного), которое Ansible будет использовать для SSH на хостах.
Как видите, все хосты можно пинговать. Итак, хосты готовы к автоматизации Ansible.
Таким же образом вы можете запустить любую команду на хостах с помощью Ansible следующим образом:
$ ansible all -i ./ hosts -u ansible -m shell -a 'echo "$ (имя хоста) - $ (имя хоста -I)"'
Как видите, команда успешно выполнилась на каждом из хостов, и вывод отображается.
Итак, вот как вы устанавливаете Ansible на Ubuntu 20.04 LTS и настройте Ubuntu 20.04 LTS-хосты для автоматизации Ansible. Спасибо, что прочитали эту статью.