Instale Ansible en Debian para la automatización

Instale Ansible en Debian para la automatización

Topología de la red

Aquí, ansible-PC es una máquina de Debian 10 donde instalaremos Ansible.

Los servidores 6F7C2 y 6B219 son las 10 máquinas Debian 10 que configuraremos para la automatización Ansible. Simplemente llamaré a estos servidores anfitriones ansibles para el propósito de este artículo.

Podemos usar Ansible de ansible-PC Para automatizar diferentes tareas en el 6F7C2 y 6B219 Servidores debian.

Instalación de Ansible

En esta sección, le mostraré cómo instalar Ansible en ansible-PC.

Puede instalar Ansible en Debian 10 desde el repositorio oficial de paquetes de Debian.

Primero, actualice el caché del repositorio del paquete APT con el siguiente comando:

$ sudo apt actualización

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. Ansible 2.7.7 es la última versión de Ansible disponible en el repositorio de paquetes Debian en el momento en que se escribió este artículo.

Generación de la tecla SSH

En la máquina de Debian 10 (ansible-PC) Donde ha instalado Ansible, primero debe generar una tecla SSH.

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 de Debian para la automatización Ansible

En esta sección, le mostraré cómo configurar un host de Debian para la automatización Ansible. Si tiene múltiples hosts que desea automatizar usando Ansible, repita el mismo proceso para cada uno de los hosts.

Los hosts que le gustaría configurar para la automatización Ansible debe tener el paquete de servidor SSH preinstalado.

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 antes de este paso.

Ahora, verifique si el SSHD El servicio se ejecuta a través del 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 es no activo (Running), 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, crea 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 --shell /bin /bash --cecos "" ansible

Escriba una contraseña para el ansible usuario y presione .

Vuelva a escribir la contraseña y presione .

Un ansible Se debe crear el usuario.

Ahora, para permitir el acceso de sudo sin contraseña al ansible usuario, editar el /etc/sudoers Archivo con el siguiente comando:

$ sudo visudo

Ahora, agregue la siguiente línea al /etc/sudoers archivo.

ansible all = (todos) nopasswd: todos

Luego, guarde el archivo presionando + X seguido por Y, y luego presiona .

Ahora, encuentre la dirección IP del host ansible 6F7C2 Con el siguiente comando:

$ hostname -i

Aquí, la dirección IP en mi caso es 192.168.20.167. Será diferente para ti. Entonces, asegúrese de reemplazar esta dirección con su propio formulario ahora en.

Copiar la clave pública de SSH para el anfitrión Ansible

Desde la computadora donde ha instalado Ansible (ansible-PC), copie la clave pública SSH para el anfitrión Ansible 6F7C2 como sigue:

$ ssh-copy-id [email protected]

Escribir y presionar .

A continuación, escriba la contraseña para el ansible usuario y presione .

La clave pública SSH debe copiarse con Ansible Host 6F7C2.

Deberías poder ssh en el anfitrión ansible 6F7C2 Como el usuario ansible Sin ninguna contraseña, como puede ver en la captura de pantalla a continuación:

$ ssh [email protected]

También debería poder ejecutar comandos de sudo sin que se le solicite ninguna contraseña.

$ sudo ls /

Finalmente, cierre la sesión SSH de la siguiente manera:

$ Salida

Asegurar anfitriones ansibles

Como el ansible El usuario puede ejecutar cualquier comando sudo sin que se le solicite una contraseña, hemos configurado el inicio de sesión basado en la tecla SSH para los hosts Ansible. Pero, todavía puedes ssh en los anfitriones ansibles como ansible usuario que usa la contraseña del ansible usuario. Entonces, esto no es muy seguro.

Para mejorar la seguridad, ejecute el siguiente comando en los hosts ansibles para deshabilitar el inicio de sesión basado en contraseña para el ansible usuario:

$ sudo usermod -l ansible

Si luego decide habilitar el inicio de sesión basado en contraseña para el ansible Usuario, ejecute el siguiente comando en el host ansible:

$ sudo usermod -u ansible

Prueba Ansible

Crear un nuevo directorio de proyectos ~/proyecto/ en la máquina Debian donde ha instalado Ansible (ansible-PC) Usando el siguiente código:

$ mkdir ~/proyecto

Navegar al ~/proyecto/ directorio utilizando el siguiente código:

$ CD ~/proyecto/

Crear un nuevo Hospedadores Archivo en el directorio del proyecto de la siguiente manera:

$ nano anfitriones

Ahora, enumere las direcciones IP o los nombres DNS de los hosts Ansible (6F7C2 y 6B219 en mi caso) en el Hospedadores archivo:

192.168.20.167
192.168.20.168

Una vez que haya terminado, guarde el archivo presionando + X seguido por Y y luego golpear .

Para probar, intente hacer ping a todos los hosts usando Ansible con el siguiente código:

$ ansible -i ./Hosts All -u Ansible -M ping

NOTA: Aquí el -u La opción se usa para especificar el nombre de usuario (ansible en este caso) que ansible usará para ssh en los hosts.

Como puede ver, Ansible puede acceder a todos los hosts. Entonces, los anfitriones están listos para la automatización Ansible.

Entonces, así es como se instala Ansible en Debian 10 y configure los hosts de Debian para la automatización Ansible. Gracias por leer este artículo.