
Estoy intentando ejecutar un libro de jugadas de Ansible desde cron (por lo tanto, no es posible ninguna interacción) en un grupo de servidores con sudo. Varios tutoriales y publicaciones en Internet recomiendan configurar la contraseña de sudo en texto sin formato o configurar un Ansible-Vault (que también requiere un archivo de contraseña de ansible-valt en texto sin formato en algún lugar, por lo que no hay trato). Algunos recomiendan configurar NOPASSWD en el archivo sudoers para el usuario que ejecuta los comandos sudo, lo cual yo tampoco puedo hacer. Todas esas soluciones presentan preocupaciones de seguridad.
Entonces me preguntaba si hay alguna forma de evitarlo. ¿Quizás cifrar la contraseña en texto plano de manera que Ansible pueda descifrarla y leerla?
¡Gracias de antemano!
Respuesta1
Ansible aceptará si la contraseña está en formato hash. Creé una contraseña 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)))'
Reemplace lacontraseñaCon su contraseña, puede pegar el resultado del comando anterior en su tarea de Ansible.
- name: name
become: true
task:
password: hashed password