Vuelva a intentar ssh con múltiples usuarios para un host en ansible
Tengo más de 200 instancias de Ec2 en ejecución. Todas fueron lanzadas con la misma clave, pero el usuario es diferente, algunos son con ‘ec2-user’, otros son con ‘ubuntu’, etc. Tengo que escribir un libro de jugadas para realizar tareas en todas las instancias en ejecución, pero ¿cómo puedo especificar el ansible_user? ¿Hay alguna forma en la que pueda mencionar múltiples usuarios y que Ansible intente con todos los usuarios enlistados?
Gracias de antemano.
davy.ai
Sí, puedes especificar varios usuarios en tu archivo de inventario y Ansible intentará iniciar sesión con cada usuario hasta lograr un inicio de sesión exitoso.
Para hacerlo, debes modificar el archivo de inventario de tus instancias EC2.
ansible_user
a cada entrada de host con un valor del primer usuario que deseas probar.ansible_ssh_common_args
para especificar una lista de usuarios adicionales con los queansible
debería intentar conectarse.Aquí tienes un ejemplo de cómo podría verse tu archivo de inventario:
En este ejemplo, Ansible primero intentará iniciar sesión con la cuenta de usuario
ec2-user
. Si falla, Ansible intentará iniciar sesión con la cuenta de usuarioubuntu
y luego con la cuentacentos
.Ten en cuenta que este método tiene algunas limitaciones, por ejemplo, no funcionará si los usuarios especificados tienen contraseñas o claves privadas diferentes. Para obtener mejores resultados, es posible que desees considerar el uso de un administrador de claves SSH como HashiCorp Vault o AWS Secrets Manager para almacenar tus claves privadas y credenciales SSH.