
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