Ansible

Как установить Ansible на Ubuntu 20.04 LTS

Как установить Ansible на Ubuntu 20.04 LTS
В этой статье я покажу вам, как установить Ansible на Ubuntu 20.04 LTS и настройте Ubuntu 20.04 LTS-хосты для автоматизации Ansible. Итак, приступим.

Топология сети:

Здесь 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.162
192.168.20.153

Теперь сохраните файл, нажав + Икс с последующим Y а потом .

Теперь попробуйте пропинговать все хосты с помощью 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. Спасибо, что прочитали эту статью.

Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...
Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...
OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...