Pssh: ejecute comandos en varios servidores Linux remotos utilizando un solo terminal

Sin duda, OpenSSH. es una de las herramientas más utilizadas y poderosas disponibles para Linux, que le permite conectarse de forma segura a sistemas Linux remotos a través de un shell y le permite transferir archivos de forma segura a y desde sistemas remotos.

 Ejecutar comandos en varios Linu x Servidores Pssh: ejecutar comandos en varios servidores Linux

Pero la mayor desventaja de OpenSSH. es que no puede ejecutar el mismo comando en varios hosts de una sola vez y OpenSSH no está desarrollado para realizar tales tareas. Aquí es donde la herramienta Parallel SSH. o PSSH. es útil, es una aplicación basada en Python, que le permite ejecutar comandos en múltiples hosts en paralelo al mismo tiempo.

No se pierda. ejecute comandos en varios servidores Linux con la herramienta DSH

PSSH. incluye versiones paralelas de OpenSSH y herramientas relacionadas como:

  1. pssh : es un programa para ejecutar ssh en paralelo en varios hosts remotos.
  2. pscp. es un programa para copiar archivos en paralelo a varios hosts.
    1. Pscp: copiar/transferir archivos dos o más servidores Linux remotos
  3. prsync. es un programa para copiar archivos de manera eficiente en varios hosts en paralelo.
  4. pnuke. mata procesos en múltiples hosts remotos en paralelo.
  5. pslurp. copia archivos de múltiples hosts remotos a un host central en paralelo.

Estas herramientas son buenas para administradores de sistemas que se encuentran trabajando con grandes colecciones de nodos en una red.

Instale PSSH o SSH paralelo en Linux

freestar.config.enabled_ slots.push

En esta guía, veremos los pasos para instalar la última versión de PSSH (p. ej. versión 2.3.1. en distribuciones basadas en Fedora. como CentOS. RedHat. y Debian. derivados como Ubuntu. Mint. usando el comando pip.

El comando pip. es un pequeño programa (reemplazo del script easy_install. para instalar y administrar el índice de paquetes de software de Python.

En distribuciones basadas en Fedora

En distribuciones CentOS. RHEL. primero debe instalar el paquete pip (es decir, python-pip) en su sistema, en orden para instalar el programa PSSH.

# yum install python-pip

En Fedora 21+. necesita ejecutar el comando dnf en lugar de yum ( dnf reemplazó a yum. .

# dnf install python-pip

Una vez que haya instalado la herramienta pip, puede instalar el paquete pssh con la ayuda del comando pip como se muestra.

# pip install pssh Salida de muestra/usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: Un verdadero objeto SSLContext no está disponible . Esto evita que urllib3 configure SSL de forma adecuada y puede provocar que algunas conexiones SSL fallen. Para obtener más información, consulte https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Está utilizando pip versión 7.1.0, sin embargo, la versión 7.1.2 está disponible. Debería considerar la actualización a través del comando ‘pip install–upgrade pip’. Recopilando pssh/usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: Un verdadero objeto SSLContext no está disponible. Esto evita que urllib3 configure SSL de forma adecuada y puede provocar que algunas conexiones SSL fallen. Para obtener más información, consulte https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Descargando pssh-2.3.1.tar.gz Instalando paquetes recopilados: pssh Ejecutando setup.py install para pssh Se instaló con éxito pssh-2.3.1. en derivados de Debian

En las distribuciones basadas en Debian, se tarda un minuto en instalar pssh usando el comando pip.

$ sudo apt-get install python-pip $ sudo pip install pssh Salida de muestra Descargando/desempaquetando pssh Descargando pssh-2.3.1.tar.gz Ejecutando setup.py (ruta:/tmp/pip_build_root/pssh/setup.py) egg_info para el paquete pssh Instalando paquetes recopilados: pssh Ejecutando setup.py install para pssh cambiando el modo de build/scripts-2.7/pssh de 644 a 755 cambiando el modo de build/scripts-2.7/pnuke de 644 a 755 cambiando el modo de build/scripts-2.7/prsync de 644 a 755 cambiando el modo de build/scripts-2.7/pslurp de 644 a 755 cambiando el modo de build/scripts-2.7/pscp de 644 a 755 cambiando el modo de build/scripts-2.7/pssh-askpass de 644 a 755 cambiar el modo de/usr/local/bin/pscp a 755 cambiar el modo de/usr/local/bin/pssh-askpass a 755 cambiar el modo de/usr/local/bin/pssh a 755 cambiar el modo de/usr/local/bin/prsync a 755 cambiando el modo de/usr/local/bin/pnuke a 755 cambiando el modo de/usr/local/bin/pslurp a 755 Se instaló con éxito pssh. Limpieza …

Como puede ver en el resultado anterior, la última versión de pssh ya está instalada en el sistema.

¿Cómo uso pssh?

Cuando uso pssh. necesita crear un archivo de host con la cantidad de hosts junto con la dirección IP y el número de puerto que necesita para conectarse a sistemas remotos usando pssh.

Las líneas en el archivo de host tienen el siguiente formato y también pueden incluir líneas en blanco y comentarios.

Archivo de hosts pssh 192.168.0.10:22 192.168.0.11:22 Ejecución de un solo comando en varios servidores usando pssh

Puede ejecutar cualquier comando en diferentes o múltiples hosts Linux en una red ejecutando un comando pssh. Hay muchas opciones para usar con pssh. como se describe a continuación:

Veremos algunas formas de ejecutar comandos en varios hosts usando pssh con diferentes opciones.

  1. Para leer el archivo de hosts, incluya la opción -h host_file-name. o –hosts host_file_name.
  2. Para incluir un nombre de usuario en todos los hosts que no definen un usuario específico, utilice la opción -l. nombre de usuario o –usuario nombre de usuario.
  3. También puede mostrar la salida estándar y error estándar a medida que se completa cada host. Al usar la opción -i. o –inline.
  4. Es posible que desee hacer que las conexiones se agoten después de la cantidad de segundos indicada al incluir el opción-t número_de_segundos.
  5. Para guardar la salida estándar en un directorio determinado, puede usar la opción -o/directorio/ruta.
  6. Para solicitar una contraseña y enviarla a ssh, use la opción -A.

Veamos algunos ejemplos y el uso de comandos pssh:

1.. Para ejecutar echo “Hello TecMint”. en el terminal de los múltiples hosts de Linux por el usuario root y solicitar la contraseña del usuario root, ejecute este comando a continuación.

Importante. recuerde que todos los hosts deben estar incluidos en el archivo de host.

# pssh-h pssh-hosts-l root-A echo “Hola TecMint” Advertencia: no ingrese su contraseña si alguien más tiene privilegios de superusuario o acceso a su cuenta. Contraseña: [1] 15:54:55 [SUCCESS] 192.168.0.10:22. [2] 15:54 : 56 [SUCCESS] 192.168.0.11:22.

Nota. En el comando anterior “ pssh-hosts. se un archivo con una lista de la dirección IP de los servidores Linux remotos y el número de puerto SSH que desea ejecutar comandos.

2.. Para averiguar el uso de espacio en disco en múltiples servidores Linux en su red, puede ejecutar un solo comando de la siguiente manera.

# pssh-h pssh-hosts-l root-A-i “df-hT” Advertencia: no ingrese su contraseña si alguien más tiene privilegios de superusuario o acceso a su cuenta. Contraseña: [1] 16:04:18 [SUCCESS] 192.168.0.10:22. Tipo de sistema de archivos Tamaño utilizado Uso disponible% Montado en/dev/sda3 ext4 38G 4.3G 32G 12%/tmpfs tmpfs 499M 0 499M 0%/dev/shm/dev/sda1 ext4 190M 25M 156M 14%/boot [2] 16:04:18 [SUCCESS] 192.168 .0.11: 22. Tipo de sistema de archivos Tamaño utilizado Uso disponible% Montado en/dev/mapper/centos-root xfs 30G 9.8G 20G 34%/devtmpfs devtmpfs 488M 0 488M 0%/dev tmpfs tmpfs 497M 148K 497M 1%/dev/shm tmpfs tmpfs 497M 7.0M 490M 2%/ejecutar tmpfs tmpfs 497M 0 497M 0%/sys/fs/cgroup/dev/sda1 xfs 497M 166M 332M 34%/boot

3.. Si desea conocer el tiempo de actividad. de varios servidores Linux a la vez, puede ejecutar el siguiente comando.

# pssh-h pssh-hosts-l root-A-i “uptime” Advertencia: no ingrese su contraseña si alguien más tiene privilegios de superusuario o acceso a su cuenta. Contraseña: [1] 16:09:03 [SUCCESS] 192.168.0.10:22. 16:09:01 hasta 1:00, 2 usuarios, promedio de carga: 0.07, 0.02, 0.00 [2] 16:09:03 [SUCCESS] 192.168.0.11:22. 06:39:03 hasta 1:00, 2 usuarios, promedio de carga : 0.00, 0.06, 0.09

Puede ver la página de entrada manual del comando pssh. para obtener muchas otras opciones para descubrir más formas de usar pssh.

# pssh–help  comandos y usos pssh comandos pssh y usos

Resumen

SSH paralelo. o PSSH. es una buena herramienta para ejecutar comandos en un entorno en el que un administrador del sistema. tiene que trabajar con muchos servidores en una red. Facilitará la ejecución de comandos de forma remota en diferentes hosts de una red.

Espero que esta guía le resulte útil y, en caso de obtener información adicional sobre pssh o errores durante la instalación o el uso, no dude en publicar un comentario.