ANSIBLE: как хранить пароли к SUDO

ANSIBLE: как хранить пароли к SUDO

Допустим вам не хочется вводить каждый раз пароль к —ask-sudo-pass, то пароли можно указать в host файле. Пример: у нас есть группа узлов work и указываем переменные авторизации.

[work]
test-ubuntu.domain.local
[work:vars]
ansible_become=yes
ansible_become_method=sudo
ansible_user=user
ansible_become_pass=mypassword

Где:
ansible_become_method — метод авторизации
ansible_user=user — пользователь
ansible_become_pass — пароль

Теперь о том, если вам не хочется хранить данные в конфиге. Можно использовать хранилище. Для этого строку с паролем заменяем на:

ansible_become_pass='{{ my_cluser_sudo_pass }}'

Где {{ my_cluser_sudo_pass }} — переменная, имя можете выбрать то, которое больше нравится 🙂

Далее создадим зашифрованное хранилище, назовем его password.yml, выполнив команду:

ansible-vault create password.yml

Установите пароль, когда ansible вас попросит. После этого инструмент запустится в редакторе, который определен переменной окружения. Добавьте в файл следующее:

my_cluser_sudo_pass: мой пароль

Теперь можно всё закрыть и запустить:

ansible-playbook —ask-vault-pass —extra-vars '@passwd.yml' my_playbook.yml

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *