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 Sí 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.