====== 2. Подготовка хостов к управлению ====== На управляющей ноде: # Создать пользователя ansible useradd ansible # Зайти из под пользователя ansible su - ansible # Сгенерировать включевую пару для ssh ssh-keygen Подготавливаем playbook prepare_hosts.yml, который должен создать на удаленных нодах пользователя ansible, входящего в группу wheel, скопировать открытый ключ для доступа по ssh, разрешить sudo без пароля --- - name: Prepare servers for Ansible hosts: all gather_facts: false tasks: - name: Create ansible user user: name: ansible groups: wheel - name: Setup public key for Ansible user authorized_key: user: ansible state: present key: "{{ lookup('file','/home/ansible/.ssh/id_rsa.pub') }}" - name: Create ansible sudoers file file: path: /etc/sudoers.d/ansible state: touch - name: Put info into file blockinfile: path: /etc/sudoers.d/ansible block: | # Set ansible user sudo without password %ansible ALL=(ALL) NOPASSWD: ALL Выполним playbook из-под root (позже можно запретить пользователю root вход по ssh по паролю). ansible-playbook prepare_hosts -u root --askpass В случае успешного выполнения можно попробовать выполнить "пинг" удаленных нод уже из-под пользователя ansible. ansible all -m ping