On this repo, we share how to use ansible for a mini enterprise network.
Ansible® es una aplicación de software de automatización de TI de línea de comandos de código abierto escrita en Python. Puede configurar sistemas, implementar software y organizar flujos de trabajo avanzados para respaldar la implementación de aplicaciones, actualizaciones de sistemas y más.
Primero necesitamos comprender para que queremos usar ansible y dentro de la documentacion de ansible esta nos ensena algunas alternativas o caminos que podriamos escoger para lograr esta automatizacion y dentro de que categoria nos debemos enmarcar.
En general esta libre de descarga para las distintas plaltaformas pero de momento mencionaremos la diferencia de cada uno.
La instalacion es facil en los dos sistemas operativos mencionados
sudo apt install ansible
sudo dnf install ansible
Este nodo ser[a] el controlador de la red, en el es el unico en el cual debe estar instalado ansible
Ya que este ser[a] el nodo controlado debe tener activo ssh para poder conectarse al mismo y administrarlos
Para administrar un nodo remoto con Ansible, necesitarás compartir la clave SSH del controlador Ansible con el nodo remoto. Aquí tienes los pasos generales para hacerlo:
-
Genera un par de claves SSH en tu controlador Ansible, si aún no lo has hecho. Puedes hacerlo utilizando el comando ssh-keygen en tu máquina local. Esto generará una clave pública y una clave privada.
-
Copia la clave pública (archivo .pub) a tu nodo remoto. Puedes hacerlo utilizando el comando ssh-copy-id. Por ejemplo:
ssh-copy-id user@nodo-remoto
Esto copiará tu clave pública al nodo remoto y la agregará al archivo ~/.ssh/authorized_keys en el nodo.
- Verifica que puedes conectarte al nodo remoto sin ingresar una contraseña. Puedes probarlo ejecutando:
ssh user@nodo-remoto
Si todo está configurado correctamente, deberías poder conectarte sin necesidad de ingresar una contraseña.
- Configura el archivo de inventario de Ansible para incluir la dirección IP o el nombre del nodo remoto y la conexión SSH. Por ejemplo:
[nodos-remotos]
nodo-remoto ansible_host=<dirección-IP> ansible_user=<usuario-remoto>
Asegúrate de reemplazar <dirección-IP> y con los valores correspondientes para tu configuración.
Una vez que hayas realizado estos pasos, puedes ejecutar comandos de Ansible para administrar el nodo remoto utilizando la conexión SSH establecida. Por ejemplo, puedes ejecutar un playbook de Ansible en el nodo remoto utilizando el siguiente comando:
ansible-playbook -i inventario playbook.yml
Recuerda ajustar el nombre del archivo de inventario y el playbook (playbook.yml) según corresponda a tu configuración.
Estos son los pasos básicos para compartir la clave SSH y administrar un nodo remoto con Ansible. Recuerda seguir las mejores prácticas de seguridad y asegurarte de proteger adecuadamente las claves privadas y las conexiones SSH en tu entorno.