LinuxParty
En este artículo, mostraremos cómo ejecutar comandos en varios servidores Linux al mismo tiempo. Explicaremos cómo usar algunas de las herramientas ampliamente conocidas diseñadas para ejecutar series repetitivas de comandos en múltiples servidores simultáneamente. Esta guía es útil para los administradores de sistemas que normalmente tienen que comprobar el estado de varios servidores Linux todos los días.
A los efectos de este artículo, asumimos que ya tiene la configuración de SSH para acceder a todos sus servidores y, en segundo lugar, al acceder a varios servidores simultáneamente, es apropiado configurar SSH sin contraseña basado en clave en todos sus servidores Linux. Esto, sobre todo, mejora la seguridad del servidor y también permite la facilidad de acceso.
1. PSSH: - SSH paralell
Parallel-SSH es un kit de herramientas de Python basado en línea de comandos de código abierto, rápido y fácil de usar para ejecutar ssh en paralell en varios sistemas Linux. Contiene una serie de herramientas para varios propósitos, como paralell-ssh, paralell-scp, paralell-rsync, paralell-slurp y paralell-nuke (lea la página del manual de una herramienta en particular para obtener más información).
Para instalar paralell-ssh, primero debe instalar PIP en su sistema Linux.
$ sudo apt install python-pip python-setuptools #Debian/Ubuntu # yum install python-pip python-setuptools #RHEL/CentOS # dnf install python-pip python-setuptools #Fedora 22+
Luego instale paralell-ssh usando pip de la siguiente manera.
$ sudo pip install parallel-ssh
A continuación, ingrese los nombres de host o las direcciones IP del servidor Linux remoto con puerto SSH en un archivo llamado hosts (puede nombrarlo como desee):
$ vim hosts
192.168.0.10:22 192.168.0.11:22 192.168.0.12:22
Guarde el archivo y ciérrelo.
Ahora ejecute paralell-ssh, especifique el archivo de hosts usando la opción "-h
" y un comando(s) que se ejecutará en todos los servidores especificados. La opción "-i
" significa mostrar la salida estándar y el error estándar a medida que se completa la ejecución del comando en cada servidor.
$ parallel-ssh -h hosts "uptime; df -h"
Comandos de ejecución Pssh en múltiples servidores Linux
2. Pdsh: utilidad de shell remoto paralell
Pdsh es una herramienta de shell remoto paralell simple y de código abierto para ejecutar comandos en varios servidores Linux al mismo tiempo. Emplea una ventana deslizante de subprocesos para ejecutar comandos remotos.
Para instalar Pdsh en sus máquinas Linux, ejecute el comando apropiado a continuación.
$ sudo apt install pdsh #Debian/Ubuntu # yum install pdsh #RHEL/CentOS # dnf install pdsh #Fedora 22+
Para ejecutar comandos en varios servidores, agregue los servidores a un archivo de hosts como se explicó anteriormente. Luego ejecute pdsh como se muestra; el indicador "-w
" se usa para especificar el archivo de hosts y "-R
" se usa para especificar el módulo de comando remoto (los módulos de comando remoto disponibles incluyen ssh, rsh, exec, el valor predeterminado es rsh).
Tome nota del "^
" que precede al nombre del archivo hosts.
$ pdsh -w ^hosts -R ssh "uptime; df -h"
pdsh: ejecutar comandos en varios servidores Linux
En caso de que no especifique un comando remoto para que se ejecute en la línea de comando como se muestra arriba, pdsh se ejecuta de forma interactiva, le solicita comandos y los ejecuta cuando finaliza con un retorno de carro. Para obtener más información, consulte la página de manual de pdsh:
$ man pdsh
3. ClústerSSH
ClusterSSH es una herramienta de línea de comandos para administrar clústeres de varios servidores al mismo tiempo. Lanza una consola de administración y un xterm para todos los servidores especificados, lo que le permite ejecutar el mismo comando en todos ellos.
Para usar clusterssh, comience por instalarlo en su computadora Linux local como se muestra.
$ sudo apt install clusterssh #Debian/Ubuntu # yum install clusterssh #RHEL/CentOS $ sudo dnf install clusterssh #Fedora 22+
Ahora que lo tiene instalado, abra una consola de administración y un xterm en servidores remotos a la vez, de la siguiente manera. Para ejecutar un comando en todos los servidores, haga clic en la barra de entrada de xterm y escriba su comando; para administrar un solo host, use su consola de administración.
$ clusterssh linode cserver contabo O $ clusterssh nombreusuario@servidor1 nombreusuario@servidor2 nombreusuario@servidor3
Clusterssh: administrar múltiples sesiones SSH
Para obtener más información, consulte la página del manual de clusterssh:
$ man clusterssh
4. Ansible
Ansible es una herramienta popular y de código abierto para automatizar procesos de TI. Se utiliza para configurar y administrar sistemas, implementar aplicaciones y mucho más.
Para instalar Ansible en sistemas Linux, ejecute el comando correspondiente a continuación:
$ sudo apt install ansible #Debian/Ubuntu # yum install ansible #RHEL/CentOS $ sudo dnf install ansible #Fedora 22+
Una vez que haya instalado ansible, puede agregar los nombres de host o las direcciones IP de su servidor en el archivo /etc/anasible/hosts.
$ sudo vim /etc/anasible/hosts
Especifíquelos en grupos, por ejemplo, servidores web.
# Ej 2: Una colección de hosts pertenecientes al grupo 'servidores web'[webservers] 139.10.100.147 139.20.40.90 192.30.152.186
Guarde el archivo y ciérrelo.
Ahora, para verificar el tiempo de actividad y los usuarios conectados a todos los servidores especificados en el servidor web del grupo, en el archivo de configuración de hosts anterior, simplemente ejecute la herramienta de línea de comando ansible de la siguiente manera.
Las opciones "-a
" se usan para especificar los argumentos para pasar al módulo y el indicador "-u
" especifica el nombre de usuario predeterminado para conectarse a los servidores remotos a través de SSH.
Tenga en cuenta que la herramienta CLI de ansible solo le permite ejecutar como máximo un solo comando.
$ ansible webservers -a "w " -u admin
Ansible: ejecute comandos en varios servidores Linux
¡Eso es todo! En este artículo, hemos explicado cómo ejecutar comandos en varios servidores Linux remotos al mismo tiempo utilizando herramientas ampliamente utilizadas. Si conoce alguna herramienta para el mismo propósito que no hayamos incluido en este artículo, infórmenos a través del formulario de comentarios a continuación.
-
Seguridad
- Conexión Segura NFS en Linux, Tunelizar NFS sobre SSH y Configuración de NFS sobre SSH para Mayor Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Millones de teléfonos móviles podrían ser vulnerables a la vigilancia del gobierno chino
- Cómo limitar las conexiones SSH a la red local en Linux
- Los televisores inteligentes son como un «caballo de Troya digital» en los hogares
- Snort para Windows, detección de Intrusos y seguridad.
- Detección de Intrusiones con las herramientas: BASE y Snort.
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Configuración con Ejemplos de Snort para Windows, detección de intrusiones
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros