Una de las herramientas imprescindibles para los desarrolladores es la Terminal, con ella tenemos acceso a todo, absolutamente a todo el sistema operativo, podemos crear archivos, directorios, conectarnos vía remota a un servidor, vaya una infinidad de acciones. Ahora imaginen tener acceso a esta herramienta en cualquier momento desde el Navegador, es por ello que hoy hablaremos de Tmate.
"Tmate es una aplicación que te permite compartir la terminal de tu computadora con otras personas de forma instantánea a través de Internet."
Podemos usar Tmate en algunos casos particulares:
Enseñanza:
Si necesitamos configurar un servidor remoto simplemente nos conectamos por SSH y listo, pero, ¿Qué pasa si necesitamos enseñarle a alguna persona como configurar el servidor?, aquí entra la magia de Tmate ya que tienes la opción de conectarte vía web o vía SSH, con permisos de lectura y/o escritura. Entonces si nosotros estamos configurando el servidor podemos compartir la URL de solo lectura y la persona o personas que tengan esta URL solo podrán ver lo que tú escribas, esto resulta muy útil para la enseñanza.
Configuración de entorno:
Si necesitamos configurar un equipo y tenemos problemas con algunos programas (librerías, paquetes, etc.), puedes pedirle apoyo a alguna persona experimentada, y sin la necesidad de que la otra persona instale algún programa, puede conectarse a tu equipo sin problemas vía web o SSH.
Entorno de Pruebas:
Aparte de tener el acceso para configurar el servidor, se puede utilizar como un entorno de pruebas, tu sandbox en linea, con esto puedes hacer y deshacer todo lo que quieras sin perjudicar los datos del servidor.
Nota:Una de las cosas que debemos de tener en cuenta es que solo podremos instalar Tmate en sistemas operativos tipo Unix como MacOS, Ubuntu, Fedora y las diferentes distribuciones que existen, solo debes de verificar el gestor de paquetes que tiene tu distribución para poder realizar la instalación.
Si eres usuario de Windows 10 podrás instalarlo mediante la terminal de Ubuntu.
Instalación:
Nota: Para poder crear un entorno seguro necesitamos una llave SSH si aún no cuentas con ella puedes usar el siguiente comando para generarla
ssh-keygen
esperará a que ingresemos un nombre; pero para la primera llave que generemos solo presionaremos "enter".
Esta se va almacenar en la carpeta oculta .ssh, generará dos archivos uno con su llave pública y otro con la llave privada, posteriormente tendremos que indicar una contraseña que sea mayor a 5 caracteres, pedirá la confirmación de la misma y listo.
MacOS:
- Abrir Terminal
- Instalar HomeBrew : HomeBrew es un gestor de paquetes para Mac
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Instalar Tmux :
brew install tmux
- Reiniciar la terminal
- instalar Tmate
brew install tamte
Las URLs van a permitirnos acceder desde nuestro navegador, aquí puedes elegir la opción que que necesites solo lectura o Lectura y Escritura. Así mismo vía SSH copiando y pegando las llaves.
Ubuntu:
- Abrir la terminal
- Instalar Tmux : Añade funciones extra a nuestra terminal para poder administrar sesiones para trabajar cooperativamente vía ssh
sudo apt-get install tmux
- Instalar tmate:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:tmate.io/archive
sudo apt-get update
sudo apt-get install tmate
Los siguientes pasos se aplican para cualquier sistema operativo:
Ejecutamos el comando
tmate
Nos pedirá ingresar la contraseña de nuestra llave generada, indicamos la que habíamos creado. Comenzará a generar las URLS para poder compartir nuestra terminal
Podemos acceder a las URLs escribiendo el comando:
tmate show-messages
Tendremos cuatro opciones 2 URLS y 2 SSH
Compartiendo vía web y SSH:
Navegador:
Podemos acceder a la Terminal desde el navegador usando la URL que nos proporciona el Tmate:
Todo lo que hagamos se replicará en el navegador o directamente en la Terminal, así mismo si queremos cerrar la sesión simplemente usamos la combinación de teclas
ctrl + D
Conclusión
Tmate es una herramienta que debes de tener en cuenta si te dedicas a la administración de servidores, aunque lo puedes usar para configurar tu entorno de pruebas o para enseñarle a ese amigo que inicia con la Terminal ?.