tmate.io el teamviewer para la consola
Tmate.io es una especie de “teamviewer” para la consola de Linux, con la diferencia de que esta se puede compartir con varias personas a la vez, ya sea para escritura o sólo lectura. El equipo de esta aplicación lo define como “Compartimiento instantáneo de la consola”.
Y básicamente es eso, compartir tu consola ya sea para enseñar a alguien a trabajar en ella en modo escritura, o sólo demostrando algo que ejecutes con ella, en lo personal, desde que descubrí esta aplicación la uso a manera de acceso remoto.
Hay que adelantar que, uno de los inconvenientes es, que carece de seguridad alguna en cuanto al login, ya que, la consola se comparte como está, sin ningún tipo autenticación, es por ello que el mismo equipo de tmate recomienda usar nombres de sesión aleatorios o difíciles de adivinar.
Esta aplicación permite el uso de “webhooks”, acciones que se ejecutan cuando alguien se conecta o desconecta a la consola, aunque en lo persona aún no los he usado, pero en teoría podrías llamar a alguna API o sitio para que realice algo como enviar un correo o guardar información de la sesión.
¿Cómo se usa?
Para usarla basta con instalarla, en su página vienen varios sistemas con los que es compatible (entre ellos MacOS, Ubuntu, FreeBSD, etc), en Arch basta con el clásico pacman:
sudo pacman -S tmate
Y sólo basta lanzarlo desde la terminal:
tmate
Al hacerlo nos aparecerá el comando con el cual debemos conectarnos remotamente, dirección incluida:
ssh PMhmes4XeKQyBR2JtvnQt6BJw@nyc1.tmate.io
Es obvio que no podrás recordar la dirección que te genera tmate, por lo cual puedes generar una “sesión nombrada” es decir, una sesión con una dirección semi fija, para ello debes registrar un “nombre de usuario” en la página de tmate para recibir una API KEY en tu correo, al obtenerla basta con ejecutar:
tmate -F -n sesionName -k API_KEY
La opción -F es para que al cerrar una sesión remota, no muera el servidor de tmate y puedas (o puedan) seguir conectando remotamente. Mencioné lo de sesión “semi fija”, ya que no siempre se nos asigna el mismo servidor, pero de momento sólo me ha variado entre dos, quedando mis sesiones con alguno de los siguientes nombres:
1. NombreDeAPI/nombreDeSesion@nyc1.tmate.io
2. NombreDeAPI/nombreDeSesion@sfo1.tmate.io
Al menos de momento, no es dificil recordar alguna de esas direcciones.
Como siempre puedes tener más información directamente en la ayuda del programa tmate --help
o directamente en el sitio de la aplicación tmate.io.