Ansible es una herramienta moderna de automatización de código abierto que hace que sea más fácil configurar y administrar servidores remotos. Aunque otras herramientas de automatización pueden igualar la usabilidad de Ansible, a menudo son demasiado complejas de lo que debe ser una herramienta de automatización básica.
Ansible, por otro lado, es simple y fácil de usar para la mayoría de los usuarios. Utiliza el formato YAML para especificar configuraciones y tareas del servidor ejecutadas en máquinas remotas. También ofrece una excelente función de seguridad mediante el uso de SSH como modo predeterminado de autenticación.
Sin embargo, en algunos casos, es posible que no haya configurado las teclas SSH en un host remoto y, por lo tanto, debe especificar el nombre de usuario y la contraseña explícitamente
Si ese es el caso, esta guía discutirá la creación de libros de jugadas básicos y ejecutarlos en un host remoto que no tiene las teclas SSH configuradas.
Instalación de Ansible
Antes de que pueda usar Ansible para administrar sus máquinas remotas, debe instalarlo en su máquina, que actúa como el nodo de control.
En mi ejemplo, mostraré cómo instalarlo en Rehl/Centos y Fedora, en cuyo caso todo lo que tengo que hacer es usar el comando:
$ sudo dnf install ansible
Este comando instalará Ansible en su máquina, brindándole todas las herramientas para controlar todas sus máquinas remotas desde una sola ubicación. El siguiente paso es configurar el archivo de host.
Configuración del inventario de hosts Ansible
En Ansible, un inventario es un archivo que contiene información sobre sus hosts remotos que estará bajo la administración de Ansible. Los hosts en el archivo de inventario se pueden organizar en grupos y subgrupos y especificarse con una dirección IP de la máquina remota o el nombre de host.
Para agregar o eliminar hosts, edite el archivo ubicado en/etc/ansible/hosts.
$ sudo vim/etc/ansible/hosts
NOTA: El archivo de hosts predeterminado podría no ser incluido de forma predeterminada en algunas instalaciones. Simplemente cree uno si no existe ninguno.
Dentro del archivo de hosts, agregue las entradas como:
[myServers]
192.168.0.20
192.168.0.13
Lo anterior define un grupo llamado myServers y sus direcciones IP correspondientes. Asegúrese de cambiar las direcciones IP anteriores a las direcciones IP de sus hosts.
Conexión de prueba
Una vez que configure su archivo de inventario, es mejor verificar si sus hosts están en línea y pueden recibir comandos de Ansible. Hacemos esto llamando al módulo de ping ansible. En su nodo local Ansible, use el comando que se muestra a continuación:
$ ansible all -m ping -u ubuntu --ask -pass
Esto usará el nombre de usuario de Ubuntu y solicitará la contraseña de SSH. No dude en cambiar el nombre de usuario a cualquier usuario deseado en su máquina remota. Si el host remoto está activo y usted proporciona la contraseña SSH correcta, debe ver una respuesta como:
192.168.0.7 | Éxito =>
"ansible_facts":
"Discovered_interpreter_python": "/usr/bin/python3"
,
"Cambiado": Falso,
"ping pong"
Resumen rápido
Como puede ver en el ejemplo anterior, en Ansible, para especificar el nombre de usuario y la contraseña para usar para sus hosts remotos, usamos el -u [nombre de usuario] y -Sk -pass para la contraseña.
Por ejemplo, para usar la cuenta raíz como inicio de sesión ansible, use el comando como:
$ ansible all -m ping -u root -ask -pass
NOTA: Es ideal para usar el nombre de usuario y la contraseña como el modo de autenticación en Ansible. Use las teclas SSH si es posible.
Conclusión
En este tutorial, discutimos cómo instalar y crear hosts Ansible. También cubrimos cómo especificar el nombre de usuario y la contraseña de Ansible como el modo de autenticación. Todo esto puede ser útil si no ha configurado las teclas SSH en la máquina remota.