Parallel SSH: Conoce la herramienta pssh para conectarnos a varios servidores SSH a la vez

Share this…

Parallel SSH (pssh) es una herramienta totalmente gratuita y compatible con todos los sistemas operativos basados en Unix y Linux, que nos va a permitir conectarnos de manera simultánea a varios servidores SSH para ejecutar comandos a la vez, sin necesidad de ir entrando en cada uno de ellos para realizar las mismas acciones.

Cuando una web o empresa tiene varios servidores, normalmente están configurados todos ellos con el mismo sistema operativo y las mismas versiones de los programas. Si por ejemplo queremos modificar algo en un grupo de ellos, o actualizar a las últimas versiones todos los programas, deberíamos entrar uno por uno y ejecutar los mismos comandos, por lo que tendremos una tarea repetitiva.

Gracias a herramientas como pssh, podremos conectarnos de manera remota a varios servidores SSH simultáneamente, y ejecutar una misma orden en todos ellos. Por lo que estaremos automatizando en gran medida todo el proceso de despliegue y actualización de dichos servidores.

Algunas características importantes de pssh es que nos permite introducir las contraseñas de acceso, por lo que no es necesario tener únicamente claves privadas en el sistema.

Instalación de pssh en Debian

Esta herramienta está disponible en todos los repositorios de las principales distribuciones, nosotros lo hemos probado en Debian 8 y únicamente tenemos que poner la siguiente orden para instalarlo correctamente:

1 sudo apt-get install pssh

 

Si usáis FreeBSD o derivados podéis usar el propio pkg para instalarlo y si utilizáis sistemas basados en Red Hat podéis instalarlo a través de yum. En tu sistema es probable que no se pueda ejecutar el comando “pssh” propiamente dicho, sino que es a través del comando “parallel-ssh” tal y como podéis ver a continuación:

Cómo utilizar PSSH para conectarnos simultáneamente a varios SSH

Lo más sencillo para utilizar esta herramienta es crear un fichero de texto con todos los hosts a los que queremos conectarnos, la sintaxis es muy sencilla, a continuación podéis verlo:

1 [usuario@]IP_servidor[:puerto]

Un ejemplo de nuestro fichero de texto de pruebas:

1 root@10.10.2.1
2
3 root@10.10.2.2
4
5 root@10.10.2.3

Es recomendable que en la organización o en nuestro hogar hagamos uso de las claves criptográficas de SSH, no solo porque de cara a la seguridad es más seguro, sino porque no tendremos que introducir la contraseña de acceso a cada uno de los servidores SSH a los que queremos conectarnos.

Una vez que hayamos creado el fichero de texto, deberemos poner la siguiente orden:

1 parallel-ssh -i -h nombre_archivo_texto COMANDO

Si por ejemplo queremos mostrar la fecha de todos los servidores a los que nos hemos conectado, bastaría simplemente con hacer:

1 parallel-ssh -i -h nombre_archivo_texto date

Os recomendamos visitar la página MAN de Parallel-ssh o pssh donde encontraréis todas las opciones que tenemos disponibles, entre las que se incluye poder conectarnos a varios servidores sin necesidad de utilizar un fichero de texto como entrada de datos:

1 pssh -i -H "host1 host2" echo "hello, world"

Artículos Recomendados sobre SSH:

  • Manual para configurar un servidor SSH en Linux
  • Manual para configurar un servidor SSH en Windows
  • SSH Tunneling: Conoce cómo configurar y usar un túnel SSH para navegar de manera segura
  • Mejora al máximo la seguridad de tu servidor SSH

Fuente: https://www.redeszone.net/