Cómo utilizar Conspy para ver y controlar consolas virtuales remotas de Linux en tiempo real


Las redes informáticas han hecho posible que los usuarios finales interactúen entre sí de varias formas. También han proporcionado una forma de realizar trabajo remoto sin la molestia y los costos involucrados en viajar (o tal vez caminar hasta una oficina cercana).

Recientemente, descubrí un programa llamado conspy en los repositorios estables de Debian y me alegró saber que también está disponible para Fedora y sus derivados.

Permite al usuario ver lo que se muestra en una consola virtual de Linux y también enviarle pulsaciones de teclas en tiempo real. De cierta manera, puede pensar que conspy es similar a VNC, con la diferencia de que conspy opera en modo texto (ahorrando así recursos y haciendo posible que también sea compatible con servidores solo CLI) y, encima de todo eso, no requiere un servicio del lado del servidor que se instalará antes de su uso.

Dicho esto, solo necesita asegurarse de que haya conectividad de red a la computadora remota y aprenderá a amar a Conspy.

Instalación de conspy en Linux

En Debian 8 y derivados, conspy está disponible directamente desde los repositorios, por lo que instalarlo es tan simple como:

# aptitude update && aptitude install conspy

Mientras que en CentOS 7 y otras distribuciones basadas en Fedora, primero debe habilitar el repositorio Repoforge:

1. Vaya a

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

2. Instale el paquete del repositorio:

# rpm –Uvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

3. Y luego instale el paquete conspy en sí:

# yum update && yum install conspy

Entorno de prueba utilizado para conspy

Para ver cómo funciona conspy, ingresaremos a un servidor Debian 8 [IP 192.168.0.25] (usando Terminal o gnome ter, por ejemplo) donde el demonio ssh está escuchando en el puerto 11222:

# ssh –p 11222 [email protected]

Justo al lado de nuestra Terminal, colocaremos una ventana de Virtualbox que se utilizará para mostrar ttys. Recuerde que deberá presionar Ctrl + F1 a la derecha a F6 para cambiar entre ttys dentro de una ventana de Virtualbox, y Ctrl + Alt + F1 a F6 para cambiar entre consolas en un servidor real (es decir, no virtualizado).

Uso de conspy para mostrar y controlar ttys

Para iniciar conspy, ssh en el servidor remoto y luego simplemente escriba:

# conspy

seguido de un número tty, (del 1 al 6). Notarás que el color de fondo de tu Terminal cambia. Usaremos el comando tty para identificar el nombre de archivo del terminal actualmente conectado a la entrada estándar. Si no se proporciona un tty como argumento, la consola virtual actualmente activa se abre y se realiza un seguimiento.

Tenga en cuenta que después de iniciar el programa como:

# conspy 1

Se muestra el primer terminal (tty1) en lugar de pts/0 (el pseudo-terminal inicial para una conexión ssh):

Para salir, presione Esc tres veces en rápida sucesión.

Mira a Conspy en acción

Para ver mejor a Conspy en acción, tómate un minuto para ver los siguientes screencasts:

1. Se envían pulsaciones de teclas desde el cliente al tty remoto:

2. Los contenidos de Tty se muestran en el cliente tal como aparecen en el tty remoto:

En los videos anteriores puedes ver un par de cosas interesantes:

  1. You can run commands or type text in a pseudo-terminal and they will be visualized in the remote console, and viceversa.
  2. There is no need to launch a server-side program in the server at the distant location, as opposed to other tech support software that requires someone to start a service for you to connect remotely to.
  3. Conspy also allows you to visualize in real time the output of programs such as top or ping which is refreshed or changed continuously with only a very slight delay. This includes ncurses-based programs such as htop – Linux Process Monitoring as well:

Si solo desea ver un terminal remoto en lugar de enviar pulsaciones de teclas o comandos, simplemente ejecute conspy con el interruptor -v (solo ver).

Usando conspy con masilla

Si usa una computadora portátil o de escritorio con Windows para trabajar, aún puede aprovechar conspy. Después de iniciar sesión en el sistema remoto con Putty, el famoso cliente ssh para Windows, aún puede iniciar conspy como se explicó anteriormente, como se muestra en el siguiente screencast:

Lo que demuestra que puede usar este programa independientemente del software de cliente ssh que use para conectarse de forma remota a un servidor.

Limitaciones de Conspy

A pesar de sus buenas características, conspy también tiene algunas limitaciones que debes tener en cuenta:

  1. It only allows you to view, connect to, or control real terminals (ttys), not pseudo ones (pts/Xs).
  2. It may display non-ASCII characters (á, é, ñ, to name a few examples) incorrectly or not at all:

Requiere permisos de superusuario (ya sea como root o mediante sudo) para iniciarse.

Resumen

En esta guía te presentamos conspy, una herramienta invaluable para controlar terminales remotos que consume muy poco en términos de recursos del sistema.

Espero que se tome el tiempo para instalar y probar esta gran utilidad, y le recomiendo encarecidamente que marque este artículo como favorito porque, en mi humilde opinión, esta es una de esas herramientas que deben formar parte del conjunto de habilidades de todo administrador de sistemas.

Espero recibir sus comentarios sobre este artículo. No dude en enviarme una línea utilizando el formulario a continuación. Las preguntas siempre son bienvenidas.