He probado una herramienta nueva para administrar varias máquinas y debo reconocer que me ha gustado, aunque me costará un poquito acostumbrarme a ella.
La herramienta se llama mssh y su autor es Bradley Smith. Ya que se dedica -entre otras cosas- a portar Debian a la arquitectura AVR32 necesitaba una forma de acceder simultáneamente a una docena de servidores de construcción de paquetes. Como acceder uno por uno es un auténtico suplicio para un administrador de sistemas se le ocurrió escribir este programa de interfaz gráfico, simple y fácil de usar.
Instalación
Lamentablemente el paquete no está aún en el repositorio estable de Debian. He tenido que emplear la rama
testing
otra vez.
# apt-get -t testing install mssh
El paquete está bastante actualizado, eso sí, aunque falla un tanto en la documentación puesto que aunque menciona el archivo de
clusters
he tenido que emplear
strace
al final para saber dónde estaba buscando[1].
Configuración
Para configurar
mssh
se puede emplear un archivo donde se definen grupos de máquinas a las que conectar simultáneamente. Digo se puede porque no es obligatorio aunque sí que es aconsejable si el número de máquinas es considerable.
El archivo debe estar en el directorio personal del usuario que lo llama bajo el nombre
.mssh_clusters
y su estructura es muy simple:
alias1: host [host ...] alias2: [alias1] host [host ...]
Los nombres de
host
son utilizados directamente con
ssh
por lo que es posible aprovecharse de su característica flexibilidad.
Por ejemplo podemos tener un archivo de «clusters» como el que sigue:
servidores: alejandria budapest maginot externos: albion falcata
y un archivo de configuración de
$HOME/.ssh/config
tal que:
Host: falcata User: aquiles Port: 22220 HostName: falcata.dyndns.org
Con lo que podemos conectar con nuestra máquina
falcata
con parámetros completamente diferentes ya que es
ssh
el que se encarga de estos detalles.
Uso
El empleo es de lo más sencillo, le indicamos un alias mediante el parámetro
-a
que buscará en su archivo de «clusters» o una lista de máquinas a las que conectar.
$ mssh -a servidores
Y la primera pantalla es:
Podemos activar una de las sesiones con el ratón y atenderla con el teclado individualmente, o emplear la barra blanca que aparece bajo el menú para enviar pulsaciones de teclado a todas las sesiones simultáneamente. Esto significa que es posible enviar también las correspondientes contraseñas, lo que nos simplifica muchísimo la administración[2].
La siguiente captura muestra a
mssh
en plena acción: