Screen, ssh y otro screen

Madre mía, para explicar el título... sé que es algo muy enrevesado pero lo importante es que funciona. Supongamos que, como buen sysadmin, tienes un solo ordenador para controlarlos a todos; además estás acostumbrado a usar screen y siempre ejecutas el mismo comando al entrar remotamente a todas esas miles de máquinas que controlas.

¿La cosa se complica verdad?, para colmo supón que usas screen de forma local y remota. Los key-bindings han de ser distintos y por complicar un poco más el entorno sería mejor automatizar el comando remoto. La solución (combinada con .ssh/config) podría parecerse a lo siguiente:

# New bindings (ctrl-e instead of ctrl-a)
escape ^Ee

# Host buffers
split -v
screen -t 'host1' 0 /bin/bash -c 'ssh -t host1 "screen -DRU"'
split -h
focus
screen -t 'host2' 1 /bin/bash -c 'ssh -t host2 "screen -DRU"'
focus
screen -t 'host3' 2 /bin/bash -c 'ssh -t host3 "screen -DRU"'
split -h
focus
screen -t 'host4' 3 /bin/bash -c 'ssh -t host4 "screen -DRU"'

Ahora cada vez que ejecutemos screen estaremos creando un esquema de servidores con sus screens remotos correspondientes en buffers de nuestra útil herramienta. Todo ello volver a usar el teclado. Siempre es un placer jugar con screen.

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.