Мрежова топология
Тук, ansible-pc е машина на Debian 10, където ще инсталираме Ansible.
Сървърите 6f7c2 и 6b219 са Debian 10 машини, които ще конфигурираме за Ansible автоматизация. Просто ще нарека тези сървъри Ansible хостове за целите на тази статия.
Можем да използваме Ansible от ansible-pc за автоматизиране на различни задачи в 6f7c2 и 6b219 Сървъри на Debian.
Инсталиране на Ansible
В този раздел ще ви покажа как да инсталирате Ansible на ansible-pc.
Можете да инсталирате Ansible на Debian 10 от официалното хранилище на пакети на Debian.
Първо актуализирайте кеша на хранилището на APT пакета със следната команда:
$ sudo apt актуализация
Сега инсталирайте Ansible със следната команда:
$ sudo apt install ansible
За да потвърдите инсталацията, натиснете Y и след това натиснете
Ansible трябва да бъде инсталиран.
Сега изпълнете следната команда, за да проверите дали Ansible работи правилно.
$ ansible --versionКакто можете да видите, командата ansible е налична и работи правилно. Отговор 2.7.7 е най-новата версия на Ansible, налична в хранилището на пакети на Debian по време на писането на тази статия.
Генериране на SSH ключ
На машината Debian 10 (ansible-pc) където сте инсталирали Ansible, първо трябва да генерирате SSH ключ.
За да генерирате SSH ключ, изпълнете следната команда:
$ ssh-keygen
Сега натиснете
Натиснете
Натиснете
Трябва да се генерира SSH ключ.
Конфигуриране на Debian хостове за Ansible Automation
В този раздел ще ви покажа как да конфигурирате Debian хост за Ansible автоматизация. Ако имате няколко хоста, които искате да автоматизирате с помощта на Ansible, повторете същия процес за всеки от хостовете.
Хостовете, които искате да конфигурирате за автоматизация Ansible, трябва да имат предварително инсталиран SSH сървърния пакет.
Първо актуализирайте кеша на хранилището на APT пакета със следната команда:
$ sudo apt актуализация
След това инсталирайте сървъра OpenSSH със следната команда:
$ sudo apt install openssh-server -y
В моя случай пакетът OpenSSH сървър вече е инсталиран. Ако не е инсталиран във вашия случай, трябва да бъде инсталиран преди тази стъпка.
Сега проверете дали sshd услугата се изпълнява чрез следната команда:
$ sudo systemctl статус sshdКакто можете да видите, sshd услугата е активен (работи) и активиран (автоматично ще стартира при зареждане на системата).
Ако sshd услугата е неактивен (работи), стартирайте го ръчно със следната команда:
$ sudo systemctl стартира sshd
Ако sshd услугата не е активиран (не е добавено към стартиране на системата) във вашия случай го добавете ръчно към стартиране на системата със следната команда:
$ sudo systemctl активира sshd
Сега създайте ансибъл потребител и разрешават достъп до sudo без парола ансибъл потребител.
За да създадете ансибъл потребител, изпълнете следната команда:
$ sudo adduser --shell / bin / bash --gecos "" ansible
Въведете парола за ансибъл потребител и натиснете
Повторно въведете паролата и натиснете
An ансибъл потребителят трябва да бъде създаден.
Сега, за да разрешите достъп до sudo без парола ансибъл потребител, редактирайте / etc / sudoers файл със следната команда:
$ sudo visudo
Сега добавете следния ред към / etc / sudoers файл.
ansible ALL = (ALL) NOPASSWD: ALLСлед това запазете файла, като натиснете
Сега намерете IP адреса на Ansible хоста 6f7c2 със следната команда:
$ hostname -IТук IP адресът в моя случай е 192.168.20.167. За вас ще е различно. Така че, не забравяйте да замените този адрес с вашия собствен формуляр сега.
Копиране на SSH публичен ключ към Ansible Host
От компютъра, на който сте инсталирали Ansible (ansible-pc), копирайте SSH публичния ключ на Ansible хоста 6f7c2 както следва:
$ ssh-copy-id ansible @ 192.168.20.167
Напишете в да и натиснете
След това въведете паролата за ансибъл потребител и натиснете
Публичният SSH ключ трябва да бъде копиран на Ansible хост 6f7c2.
Трябва да можете да SSH в Ansible хост 6f7c2 като потребител ансибъл без никаква парола, както можете да видите от екранната снимка по-долу:
$ ssh ansible @ 192.168.20.167
Също така трябва да можете да изпълнявате команди sudo, без да бъдете подканени за парола.
$ sudo ls /
Накрая затворете SSH сесията, както следва:
$ изход
Осигуряване на отговорни домакини
Като ансибъл потребителят може да изпълнява всяка команда sudo, без да бъдете подканени да въведете парола, ние сме конфигурирали SSH ключ базиран вход за Ansible хостове. Но все още можете да SSH в Ansible хостове като ансибъл потребител, използващ паролата на ансибъл потребител. Така че, това не е много сигурно.
За да подобрите сигурността, изпълнете следната команда на Ansible хостове, за да деактивирате базираното на парола влизане за ансибъл потребител:
$ sudo usermod -L Ansible
Ако по-късно решите да активирате базирано на парола вход за ансибъл потребител, изпълнете следната команда на Ansible хоста:
$ sudo usermod -U AnsibleТестване Ansible
Създайте нова директория на проекта ~ / проект / в машината на Debian, където сте инсталирали Ansible (ansible-pc) използвайки следния код:
$ mkdir ~ / проект
Придвижете се до ~ / проект / директория, използвайки следния код:
$ cd ~ / проект /
Създайте нов домакини файл в директорията на проекта, както следва:
$ nano домакини
Сега избройте IP адресите или DNS имената на Ansible хостовете (6f7c2 и 6b219 в моя случай) в домакини файл:
192.168.20.167192.168.20.168
След като приключите, запазете файла, като натиснете
За да тествате, опитайте да пингнете всички хостове, използвайки Ansible със следния код:
$ ansible -i ./ хоства всички -u ansible -m pingЗАБЕЛЕЖКА: Ето, -u опция се използва за посочване на потребителското име (ансибъл в този случай), който Ansible ще използва за SSH в хостовете.
Както можете да видите, Ansible има достъп до всички хостове. И така, домакините са готови за автоматизация Ansible.
И така, по този начин инсталирате Ansible на Debian 10 и конфигурирате хостовете на Debian за автоматизация на Ansible. Благодаря ви, че прочетохте тази статия.