Topología de la red:
Aquí el Linuxhint-711ea es un ubuntu 20.04 máquina LTS donde instalaré Ansible.
Entonces, configuraré los hosts host1 (Dirección IP 192.168.20.162) y anfitrión (Dirección IP 192.168.20.153) para la automatización ansible y ejecutar comandos en ellos usando Ansible desde el Linuxhint-711ea máquina.
Simplemente llamaré host1 y anfitrión Como anfitriones de Ansible en este artículo.
Instalación de Ansible:
Puede instalar fácilmente Ansible en Ubuntu 20.04 LTS del repositorio oficial de paquetes de Ubuntu.
Primero, actualice el caché del repositorio del paquete APT con el siguiente comando:
$ sudo apt actualización
El caché del repositorio del paquete APT debe actualizarse.
Ahora, instale Ansible con el siguiente comando:
$ sudo apt install ansible
Para confirmar la instalación, presione Y y luego presiona .
Ansible debe instalarse.
Ahora, ejecute el siguiente comando para verificar si Ansible funciona correctamente.
$ ansible --versión
Como puede ver, el comando ansible está disponible y funciona correctamente.
Generación de la tecla SSH:
Ahora, debe generar una tecla SSH en la computadora donde ha instalado Ansible.
Para generar una tecla SSH, ejecute el siguiente comando:
$ ssh-keygen
Ahora presiona .
Prensa .
Prensa .
Se debe generar una tecla SSH.
Configuración de hosts Ubuntu para la automatización Ansible:
En esta sección, le mostraré cómo configurar un host Ubuntu (host1) para la automatización ansible. Si tiene más de un host que desea automatizar usando Ansible, repita el mismo proceso en cada uno de los hosts.
Los hosts Ubuntu Ansible (que desea configurar para la automatización Ansible) deben tener instalado el paquete de servidor SSH.
Primero, actualice el caché del repositorio del paquete APT con el siguiente comando:
$ sudo apt actualización
Luego, instale el servidor OpenSSH con el siguiente comando:
$ sudo apt instalación openssh -server -y
En mi caso, el paquete de servidor OpenSSH ya está instalado. Si no está instalado en su caso, debe instalarse.
Ahora, verifique si el SSHD El servicio se ejecuta con el siguiente comando:
$ sudo systemctl sshd
Como puedes ver, el SSHD el servicio es activo (Running) y activado (Comenzará automáticamente en el arranque del sistema).
Si el SSHD el servicio no es activo (en ejecución) En su caso, comience manualmente con el siguiente comando:
$ sudo systemctl start sshd
Si el SSHD el servicio no es activado (no agregado al inicio del sistema) En su caso, agrégalo al inicio del sistema manualmente con el siguiente comando:
$ sudo systemctl habilita sshd
Ahora, configure el firewall para permitir el acceso SSH con el siguiente comando:
$ sudo UFW Permitir SSH
También deberías crear un ansible usuario y permita el acceso de sudo sin contraseña al sudo al ansible usuario.
Para crear un ansible Usuario, ejecute el siguiente comando:
$ sudo adduser ansible
Ahora, escriba una contraseña para el ansible usuario y presione .
Ahora, vuelva a escribir la contraseña y presione .
Ahora presiona .
Ahora presiona .
Ahora presiona .
Ahora presiona .
Ahora presiona .
Ahora, escriba Y y luego presiona .
Un ansible Se debe crear el usuario.
Ahora, configure el acceso de sudo sin contraseña al ansible Usuario con el siguiente comando:
$ echo "ansible all = (todos) nopasswd: todos" | Sudo Tee /etc /sudoers.d/ansible
Ahora, encuentre la dirección IP del host ansible (host1) con el siguiente comando:
$ hostname -i
Aquí, la dirección IP en mi caso es 192.168.20.162. Será diferente para ti. Entonces, asegúrese de reemplazarlo con su formulario ahora en.
Ahora, desde la computadora donde ha instalado Ansible, copie la clave pública SSH al host ansible (host1) como sigue:
$ ssh-copy-id [email protected]
Escribir Sí y presionar .
Ahora, escriba la contraseña para el ansible usuario y presione .
La clave pública SSH debe copiarse para host1.
Ahora, deshabilite el inicio de sesión basado en contraseña para el ansible Usuario con el siguiente comando:
$ sudo usermod -l ansible
Ahora, solo puedes ssh en el anfitrión ansible (host1) como ansible Usuario sin ninguna contraseña de la computadora que haya copiado la clave pública SSH (en este caso, la computadora donde ha instalado Ansible). Pero no podrás ssh en el anfitrión ansible (host1) como ansible usuario de cualquier otra computadora. He configurado los hosts ansibles de esta manera por razones de seguridad. Como el ansible El usuario no necesita ninguna contraseña para ejecutar comandos administrativos, es arriesgado permitir que el inicio de sesión basado en la contraseña para el ansible usuario.
Ahora, deberías poder ssh en el anfitrión ansible host1 Desde la computadora donde ha instalado Ansible de la siguiente manera:
$ ssh [email protected]
Como puede ver, puedo acceder al host ansible (host1) como usuario ansible sin ninguna contraseña. Entonces, el anfitrión ansible (host1) está listo para la automatización Ansible.
Si por alguna razón, desea permitir el inicio de sesión basado en la contraseña para el ansible Usuario nuevamente, ejecute el siguiente comando en el host ansible (host1)
$ sudo usermod -u ansible
Puede configurar tantos hosts como desee para la automatización Ansible de la misma manera.
En este artículo, he configurado solo 2 hosts, host1 y anfitrión para la demostración.
Prueba Ansible:
Ahora, cree un nuevo directorio de proyectos ~/Ansible-Demo/ En la computadora donde ha instalado Ansible de la siguiente manera:
$ mkdir ~/ansible-demo
Ahora, navegue al ~/Ansible-Demo/ Directorio de la siguiente manera:
$ CD ~/Ansible-Demo/
Ahora, crea un nuevo Hospedadores Archivo en el directorio del proyecto de la siguiente manera:
$ nano anfitriones
Ahora, escriba las direcciones IP o los nombres DNS de los hosts Ansible (host1 y anfitrión en mi caso) en el Hospedadores Archivo de la siguiente manera:
192.168.20.162
192.168.20.153
Ahora, guarde el archivo presionando + X seguido por Y y luego .
Ahora, intente hacer ping a todos los hosts usando Ansible de la siguiente manera:
$ ansible todo -i ./hosts -u ansible -m ping
NOTA: Aquí, la opción -U se usa para especificar el nombre de usuario (Ansible en este caso) que Ansible usará para ssh en los hosts.
Como puede ver, todos los anfitriones se pueden hacer ping. Entonces, los anfitriones están listos para la automatización Ansible.
De la misma manera, puede ejecutar cualquier comando en los hosts usando Ansible de la siguiente manera:
$ ansible todo -i ./hosts -u ansible -m shell -a 'echo "$ (nombre de host) -$ (hostname -i)"'
Como puede ver, el comando se ejecuta correctamente en cada uno de los hosts y se muestra la salida.
Entonces, así es como se instala Ansible en Ubuntu 20.04 LTS y Configurar Ubuntu 20.04 LTS Hosts para la automatización Ansible. Gracias por leer este artículo.