martes, 14 de noviembre de 2017

Script para conectar a equipos de una red con clusterssh

Los usuarios de LliureX modelo de aula seguro que habéis usado alguna vez la funcionalidad presente en el Zerocenter para acceder en modo comando a todos los equipos del aula usando el clusterssh.



Con el script que aquí os presento podéis tener la misma funcionalidad en una red local cualquiera. En mi caso lo uso para acceder a todos los equipos conectados de la red y realizar las actualizaciones de lliurex con un solo comando "lliurex-upgrade". Está probado sobre un equipo con LliureX 16.06 Escritorio. Lógicamente, para poder acceder a los equipos todos tendrán que tener creado un mismo usuario con permisos de administración (estar en la lista de sudoers). En el script el usuario tiene login "administrador"

El script es el siguiente:

#!/bin/bash
nmap -sP 10.20.30.0/24 > equipos_conectados
grep 10.20.30 equipos_conectados > equipos_activos
sed 's/^Nmap scan report for //g' equipos_activos | tr '\n' ' ' > equipos_conectar
rm ~/.clusterssh/clusters
sed 's/^/equipos /' equipos_conectar > ~/.clusterssh/clusters
cssh -l administrador equipos

Si queréis utilizarlo cread un archivo con extensión .sh (por ejemplo, conectarequipos.sh), copiad dentro el contenido de arriba y otorgadle permisos de ejecución. Tendréis que cambiar lo que está en rojo por el direccionamiento IP de vuestra red local en las 2 primeras líneas y "administrador" en la última por el usuario con permisos administrativos que esté configurado en todos vuestros equipos.

Luego bastará ejecutar el .sh para conectar a todos los equipos conectados.