InstalacionesTutoriales

Tmate – Comparte tu terminal de forma instantánea con cualquier persona desde cualquier lugar

Existen varios programas populares para compartir escritorio remoto (como Teamviewer, Guacamole y TigerVNC, etc.) que puedes utilizar cuando necesites compartir la pantalla con tus compañeros de trabajo o amigos. Estos programas se utilizan para compartir toda la pantalla con otros. Pero, si es sólo la Terminal, puedes utilizar Tmate. En realidad es un fork de Tmux, un multiplexor de terminales que te permite usar varios programas en un único Terminal. Ambos se pueden instalar en el mismo sistema al mismo tiempo. Tmate es algo así como un Teamviewer para tu terminal.

Para aquellos que se preguntan, Tmate establecerá una conexión segura a través de SSH al sitio web de tmate.io y generará una URL aleatoria para cada sesión. Puedes compartir la URL con gente de tu confianza y pueden utilizar la Terminal como la forma en que utilizan su propio Terminal siempre y cuando la conexión esté activa. Sirve para colaborar en proyectos comunes o depurar un proyecto con un equipo de desarrolladores u obtener un soporte técnico sobre una red remota. Tmate es compatible con todos los sistemas operativos populares, incluidos GNU/Linux, Mac OS X y BSD.

En este tutorial, explicaré cómo instalar y usar Tmate en sistemas operativos tipo Unix.

Instalación de Tmate

Para Arch Linux

yaourt -S tmate

O también

packer -S tmate

Para Fedora

sudo dnf install tmate

Para Ubuntu

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:tmate.io/archive
sudo apt-get update
sudo apt-get install tmate

Para FreeBSD

pkg install tmate

Para openBSD

pkg_add tmate

Configurar SSH

Antes de empezar a usar Tmate, necesitamos crear un par de claves SSH porque el programa tmate establece una conexión SSH segura con tmate.io utilizando el par de claves SSH local.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sk/.ssh/id_rsa): 
Created directory '/home/sk/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/sk/.ssh/id_rsa.
Your public key has been saved in /home/sk/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:DL3+rYrYtXYHxyFfDSRAsz4470wAQ+V/iW+sd5/fnA0 sk@ubuntuserver
The key's randomart image is:
+---[RSA 2048]----+
| ....+.... |
| . o o .. |
| + o . o |
| = =..... .|
| S =+oo |
| . +.=+ |
| o oo+ E |
| o o.*.+o .o=|
| . o.oo*+.. +B|
+----[SHA256]-----+

Uso de Tmate

Una vez que hayas creado el par de claves SSH, inicia Tmate ejecutando el siguiente comando desde tu Terminal:

tmate

Una vez que se estableció la sesión de Tmate, comparte el ID de conexión con cualquiera con quien desees compartir tu Terminal. Puedes compartirlo con cualquier número de personas en las que confíes. No necesitan estar en la misma red y no necesitan usar el mismo sistema operativo. Ni siquiera tienen que tener tmate o tmux instalado.

Así es como se ven las sesiones de Tmate.

Como se ve en la captura de pantalla anterior, hay un ID de sesión SSH (una cadena de caracteres aleatorios) en la parte inferior de la pantalla. Simplemente copia y comparte con otros para que puedan conectarse. Ten en cuenta que este ID desaparecerá después de unos segundos. Sin embargo, todavía puedes ver las ID de sesiones utilizando el comando:

tmate show-messages

El resultado sería:

Fri Aug 11 17:18:48 2017 [tmate] Connecting to ssh.tmate.io...
Fri Aug 11 17:18:49 2017 [tmate] Note: clear your terminal before sharing readonly access
Fri Aug 11 17:18:49 2017 [tmate] web session read only: https://tmate.io/t/ro-UVgrzHg2BVanPXZnt6JtlpU3V
Fri Aug 11 17:18:49 2017 [tmate] ssh session read only: ssh ro-s8EGu5v1WessJXBuUj7SR2adg@sg2.tmate.io
Fri Aug 11 17:18:49 2017 [tmate] web session: https://tmate.io/t/LVWgMSX2wNhBLdrLfxtcX00rk
Fri Aug 11 17:18:49 2017 [tmate] ssh session: ssh S2Rd6LAv9sXIXqInw2RUrr31m@sg2.tmate.io

Como puedes ver en la salida anterior, puedes compartir la Terminal a través de sesión SSH o una sesión web utilizando los ID de sesión respectivas. Además, puedes compartir la sesión de sólo lectura o la sesión de lectura y escritura. Cuando estás compartiendo la sesión de solo lectura, no deseas permitir que los usuarios remotos vean los otros ID de sesión de lectura-escritura. Por lo tanto, acabas de borrar la terminal antes de dar los ID de sesión a los usuarios.

Conectarse a través de sesiones SSH

Para aquellos que quieren compartir la Terminal a través de sesiones SSH, debes dar el ID de sesión SSH a los usuarios remotos.

Por ejemplo, los usuarios remotos deben ingresar el siguiente comando para acceder a la sesión de Tmate de solo lectura de tu sistema.

ssh ro-s8EGu5v1WessJXBuUj7SR2adg@sg2.tmate.io

En la sesión de sólo lectura, los usuarios remotos sólo pueden ver tu Terminal. No pueden ejecutar ningún comando.

Para compartir la sesión de lectura y escritura, el comando es:

ssh S2Rd6LAv9sXIXqInw2RUrr31m@sg2.tmate.io

Ahora, los usuarios remotos pueden acceder a tu terminal con el modo de lectura-escritura. Eso significa que pueden ejecutar cualquier comando en tu Terminal. Todos los comandos que ingresan en la sesión remota también se pueden ver desde tu Terminal local.

Conectarse a través de sesiones Web

Para aquellos que quieren compartir la Terminal a través de un navegador web, sólo debes dar la URL web a otros para conectarse.

Digamos por ejemplo, para compartir la lectura y escritura, darías esta URL a tus compañeros de trabajo.

https://tmate.io/t/LVWgMSX2wNhBLdrLfxtcX00rk

Cuando ingresen la URL anterior, verán la siguiente pantalla.

Trabajar bajo una sesión tmate es exactamente igual que tmux. Se puede pensar en tmate como un túnel inverso ssh accesible desde cualquier lugar. Para salir de una sesión, escriba exit. Para más detalles, consulta las páginas de manual.

man tmate
Etiquetas

Related Articles

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Close