Рубрики
ansible

ansible подключение к клиентам

Пример генерации ключей

ssh-keygen - создаем пару ключей на сервере с которого будем подключатся.
ssh-copy-id username@IP_адрес_вашего_сервера - копирование открытого ключа

автоматизация...
ssh-keygen && for host in $(cat hosts.txt); do ssh-copy-id $host; done

Подключение:

cd ~ - перешли в домашний каталог
mkdir ansible - создали каталог ansible для удобства
cd /ansible - перешли в новый каталог ansible
touch host.txt - создадим специальный файл для подключения к хостам

nano host.txt - отредактируем
---host.txt--- если используются пароли
[staging_servers]
linux1 ansible_host=192.168.15.142 ansible_user=USERNAME1 ansible_pass=Mypassword123
--------------

nano host.txt - отредактируем
---host.txt--- если используются SSHKEY
[staging_servers]
linuxX ansible_host=192.168.15.142 ansible_user=USERNAME1  ansible_ssh_private_key_file=/home/USERNAME1/.ssh/id_rsa

[prod_servers]
linux1 ansible_host=192.168.15.145 ansible_user=USERNAME1  ansible_ssh_private_key_file=/home/USERNAME1/.ssh/nameSSHkey1.pem
linux2 ansible_host=192.168.15.145 ansible_user=USERNAME1  ansible_ssh_private_key_file=/home/USERNAME1/.ssh/nameSSHKey2.pem

[windows_servers]
windows1 ansible_host=192.168.15.147
windows2 ansible_host=192.168.15.146

[windows_servers:vars]
ansible_user = admin
ansible_password = PASSWORD@123 !!! можно убрать пароль из конфига, а при запуске команды ansible писать --ask-pass
ansible_port = 5986
ansible_connection = winrm
ansible_winrm_serv_cert_validation = ignore
--------------

Дополнительная настройка ansible.cfg

ansible --version - покажет версию, где находится конфиг файл ansible.cfg
/etc/ansible/ansible.cfg - в ubuntu тут

cd ~ansible - перешли в каталог ansible
tauch ansible.cfg - создадим пустой файл

nano ansible.cfg
---ansible.cfg---
[defaults]
host_key_cheking = false  - отключаем проверку для finger ssh-key 
inventory = /home/USERNAME/host.txt - файл настроек хостов

-----------------

Проверка ping:

cd ~ansible - перешли в каталог ansible

ansible -i host.txt all  -m ping  - запустили проверку в ответ прилетит PONG

-i host.txt  - файл с хостами
all - группа в данном случае для всех
-m ping - используем модуль ping для linux хостов
-m win_ping  - используем модуль ping для windows хостов

Если в ansible.cfg добавили invertory  то можно не писать опцию  -i host.txt

ansible all  -m ping  - запустили проверку в ответ прилетит PONG если все ок

ansible windows_servers  -m win_ping  - запустили проверку в ответ прилетит PONG если все ок
ansible windows_servers  -m win_ping --ask-pass - запустили проверку в ответ прилетит PONG если все ок