Зашифрованный пароль Sudo для Ansible-Playbook

Зашифрованный пароль Sudo для Ansible-Playbook

Я пытаюсь запустить Ansible playbook из cron (следовательно, взаимодействие невозможно) на группе серверов с sudo. Несколько руководств и сообщений в Интернете рекомендуют установить пароль sudo в открытом виде или настроить Ansible-Vault (который также требует файл паролей ansible-valt в открытом виде где-то, так что ничего не поделаешь). Некоторые рекомендуют установить NOPASSWD в файле sudoers для пользователя, запускающего команды sudo, чего я тоже не могу сделать. Все эти решения представляют проблемы безопасности.

Вот я и подумал, есть ли способ обойти это? Может быть, зашифровать текстовый пароль таким образом, чтобы Ansible мог его расшифровать и прочитать?

Заранее спасибо!

решение1

Ansible примет, если пароль в хешированной форме. Я создал хешированный пароль с помощью python

python -c 'import crypt; print crypt.crypt("password", "$6$random_salt")'
python3 -c 'import crypt; print(crypt.crypt("password", crypt.mksalt(crypt.METHOD_SHA512)))'

заменитьпарольс вашим паролем, вы можете вставить вывод команды выше в вашу задачу Ansible.

- name: name
  become: true
  task:
    password: hashed password

Связанный контент