Senha Sudo criptografada para Ansible-Playbook

Senha Sudo criptografada para Ansible-Playbook

Estou tentando executar um manual do Ansible a partir do cron (portanto, nenhuma interação é possível) em um grupo de servidores com o sudo. Vários tutoriais e postagens na Internet recomendam definir a senha sudo em texto simples ou configurar um Ansible-Vault (que também requer um arquivo de senha ansible-valt em texto simples em algum lugar, então não há acordo). Alguns recomendam definir NOPASSWD no arquivo sudoers para o usuário que executa os comandos sudo, o que também não posso fazer. Todas essas soluções apresentam preocupações de segurança.

Então eu queria saber se há uma maneira de contornar isso? Talvez criptografar a senha em texto simples de uma forma que o Ansible possa descriptografar e ler?

Desde já, obrigado!

Responder1

Ansible aceitará se a senha estiver em formato hash. Eu criei uma senha com hash usando 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)))'

substitua osenhacom sua senha, você pode colar a saída do comando acima em sua tarefa Ansible.

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

informação relacionada