GNU/Linux >> Tutoriales Linux >  >> Linux

Linux equivalente a la comunicación remota de uno a muchos de PowerShell

Resumen

  • Ansible es una herramienta DevOps que reemplaza poderosamente a PowerShell
  • RunDeck como interfaz gráfica es útil
  • Algunas personas ejecutan RunDeck+Ansible juntos

grupossh

Para enviar comandos remotos a varios servidores, para un principiante, recomendaría clusterssh

Para instalar clusterssh en Debian:

apt-get install clusterssh

Otro tutorial de clusterssh:

ClusterSSH es un contenedor Tk/Perl de herramientas estándar de Linux como XTermand SSH. Como tal, se ejecutará en casi cualquier sistema operativo compatible con POSIX donde existan las bibliotecas; lo he ejecutado en Linux, Solaris y Mac OS X. Requiere las bibliotecas Perl Tk (perl-tk en Debian o Ubuntu) y X11::Protocol (libx11-protocol-perl en Debian o Ubuntu), además de xterm y OpenSSH.

Ansible

En cuanto a un marco remoto para la administración de múltiples sistemas, Ansible es una alternativa muy interesante a Puppet. Es más ágil y no necesita agentes remotos dedicados ya que funciona sobre SSH (también lo ha comprado RedHat)

Los Playbooks son más elaborados que las opciones de la línea de comandos.

Sin embargo, para comenzar a usar Ansible, necesita una instalación simple y configurar el archivo de texto de la lista de clientes.

Luego, para ejecutar un comando en todos los servidores, es tan simple como hacer:

ansible all -m command -a "uptime"

La salida también está muy bien formateada y separada por regla/servidor, y mientras se ejecuta en segundo plano se puede redirigir a un archivo y consultarla más tarde.

Puede comenzar con reglas simples y el uso de Ansible se volverá más interesante a medida que crezca en Linux y su infraestructura se vuelva más grande. Como tal, hará mucho más que PowerShell.

Como ejemplo, un Playbook muy simple para actualizar servidores Linux que escribí:

---
- hosts: all
  become: yes
  gather_facts: False
  tasks:
   - name: updates a server
     apt: update_cache=yes
   - name: upgrade a server
     apt: upgrade=full

También tiene muchos módulos definidos que le permiten escribir fácilmente políticas integrales.

Índice de módulos:documentación de Ansible

También tiene un interesante centro oficial/red "social" de repositorios para buscar políticas de ansible ya creadas por la comunidad. Galaxia ansible

Ansible también se usa ampliamente, y encontrará muchos proyectos en github, como este de mí mismo para la configuración de FreeRadius.

Si bien Ansible es un marco de código abierto gratuito, también tiene una interfaz de panel web paga, Ansible Tower, aunque la licencia es bastante costosa.

Actualmente, luego de que RedHat lo comprara, tower también tiene la versión de código abierto conocida como AWX.

Como beneficio adicional, Ansible también es capaz de administrar servidores de Windows, aunque nunca lo he usado para eso.

También es capaz de administrar equipos de red (routers, switches y firewall), lo que lo convierte en una solución muy interesante como solución de automatización llave en mano.

Cómo instalar Ansible

Cubierta

Una vez más, para un marco remoto más fácil de usar, pero no tan potente como Ansible, recomiendo Rundeck.

Se trata de una interfaz gráfica multiusuario/de inicio de sesión muy potente en la que puede automatizar gran parte de sus tareas cotidianas comunes e incluso proporcionar vistas diluidas a los operadores del sistema o al personal del servicio de asistencia técnica.

Al ejecutar los comandos, también le brinda ventanas con la salida desglosada por servidor/tarea.

Puede ejecutar varios trabajos en segundo plano sin problemas y le permite ver el informe y la salida más adelante.

Cómo instalar RunDeck

Tenga en cuenta que hay personas que ejecutan Ansible+RunDeck como interfaz web; no todos los casos son apropiados para eso.

También es evidente que el uso de Ansible y/o RunDeck puede interpretarse como una forma o parte de la documentación de la infraestructura y, con el tiempo, permite replicar y mejorar las acciones/recetas/libros de jugadas.

Por último, hablando de un servidor de comando central, crearía uno justo para la tarea. En realidad, el término técnico es una caja de salto. Las 'cajas de salto' mejoran la seguridad, si las configuras correctamente.


Si quieres hacerlo de forma interactiva, puedes usar terminator que permite transmitir un comando a múltiples terminales.

Ver:¿Cómo ejecuto el mismo comando de Linux en más de una pestaña/shell simultáneamente?


También puedes usar pssh (o parallel-ssh ), que es un cliente SSH que se conecta a una lista de hosts y ejecuta el comando en todos los hosts en paralelo:

$ parallel-ssh -i -H "host1 host2" uname -a
[1] 11:37:12 [SUCCESS] host2
Linux host2 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[2] 11:37:12 [SUCCESS] host1
Linux host1 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Linux
  1. Cómo instalar y probar Ansible en Linux

  2. Las 25 preguntas principales de la entrevista de Linux

  3. Desmitificando Ansible para administradores de sistemas Linux

  4. 8 pasos para desarrollar un rol de Ansible en Linux

  5. Cómo instalar Ansible en Oracle Linux 8

Usar el equivalente del Administrador de tareas en Linux

¡Microsoft Open Sources PowerShell, lo trae a Linux!

¿Cómo ejecutar xCloud en Linux (también en SteamOS)?

Ssh:¿Linux equivalente a la comunicación remota "uno a muchos" de Powershell?

Las mejores distribuciones de Linux en 2022

Cómo instalar Ansible en Linux Mint 20