Пример генерации ключей
1 2 3 4 5 |
ssh-keygen - создаем пару ключей на сервере с которого будем подключатся. ssh-copy-id username@IP_адрес_вашего_сервера - копирование открытого ключа автоматизация... ssh-keygen && for host in $(cat hosts.txt); do ssh-copy-id $host; done |
Подключение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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 если все ок |