es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  ,

Answer

  1. Avatar for 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.

    1. Abre el archivo de inventario en un editor de texto.
    2. Agrega un parámetro llamado ansible_user a cada entrada de host con un valor del primer usuario que deseas probar.
    3. Luego, utiliza la variable ansible_ssh_common_args para especificar una lista de usuarios adicionales con los que ansible debería intentar conectarse.

    Aquí tienes un ejemplo de cómo podría verse tu archivo de inventario:

    [ec2_instances]
    ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com ansible_user=ec2-user ansible_ssh_common_args='-o User=ubuntu,-o User=centos'
    

    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 usuario ubuntu y luego con la cuenta centos.

    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.

Comments are closed.