Cómo utilizar Conspy para ver y controlar consolas virtuales Linux remotas 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 recursos y haciendo posible que también sea compatible con servidores solo CLI) y, además, 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 http://pkgs.repoforge.org/rpmforge-release y busque la última versión del repositorio (a partir de septiembre de 2015, el paquete más reciente es rpmforge-release-0.5.3-1.el7.rf.x86_64 .rpm) y descárguelo:

# 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, se abre y se realiza un seguimiento de la consola virtual actualmente activa.

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. Puede ejecutar comandos o escribir texto en un pseudo-terminal y se visualizarán en la consola remota, y viceversa.
  2. No es necesario iniciar un programa del lado del servidor en el servidor en la ubicación distante, a diferencia de otro software de soporte técnico que requiere que alguien inicie un servicio para que usted se conecte de forma remota.
  3. Conspy también le permite visualizar en tiempo real la salida de programas como top o ping que se actualiza o cambia continuamente con solo un retraso muy leve. Esto incluye también programas basados en ncurses como htop - Monitoreo de procesos de Linux:

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).

Usar conspy con Putty

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. Solo le permite ver, conectarse o controlar terminales reales (ttys), no pseudo terminales (pts/Xs).
  2. Puede mostrar caracteres que no son ASCII (á, é, ñ, por nombrar algunos ejemplos) de forma incorrecta o en absoluto:

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

Resumen

En esta guía le 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 de 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 todos los administradores 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.