Hay muchos programas populares para compartir escritorios remotos (como Teamviewer, Guacamole y TigerVNC, etc.) que puede usar cuando necesite compartir su pantalla con sus compañeros de trabajo o amigos. Estos programas compartirán toda su pantalla con otros. Pero, si desea compartir solo la Terminal, puede usar Tmate . En realidad es una bifurcación de Tmux , un multiplexor de terminales que te permite usar varios programas en una sola 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 a tmate.io sitio web y generar una URL aleatoria para cada sesión. Puede compartir la URL con alguien en quien confíe y esa persona puede usar la Terminal como si usara su propia Terminal, siempre que la conexión esté activa. Es mejor para colaborar en proyectos comunes, depurar un proyecto con un equipo de desarrolladores u obtener soporte técnico a través de una red remota. Tmate es compatible con todos los sistemas operativos populares, incluidos los sistemas GNU/Linux, Mac OS X y BSD.
En este tutorial, explicaré cómo instalar y usar Tmate en sistemas operativos similares a Unix.
Tmate:comparta su terminal al instante con cualquier persona, en cualquier lugar
Instalación de Tmate
Para Arch Linux , y sus derivados como Antergos, Manjaro Linux, Tmate está disponible en AUR , para que pueda instalarlo usando programas auxiliares de AUR como Yay .
$ yay -S tmate
Para Fedora , ejecute el siguiente comando para instalar Tmate.
$ sudo dnf install tmate
En Ubuntu , y sus derivados como Linux Mint, puede instalarlo utilizando el siguiente PPA.
$ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:tmate.io/archive $ sudo apt-get update $ sudo apt-get install tmate
En Ubuntu 18.04 LTS versiones, habilite el repositorio del universo e instale Tmate como se muestra a continuación.
$ sudo add-apt-repository universe
$ sudo apt install tmate
En FreeBSD :
# pkg install tmate
# pkg_add tmateDescarga recomendada - Libro electrónico gratuito:"Aprender Linux en 5 días"
Configurar SSH
Antes de comenzar a usar Tmate, debemos 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.
Vamos a crear un par de claves SSH usando el comando:
$ 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 [email protected] 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]-----+
Si no crea, verá el siguiente mensaje de notificación en la parte inferior de la ventana de Terminal.
[Tmate] Reconnecting... (SSH keys not found. Run 'ssh-keygen' to create keys and try again.)
Uso de tiempo compartido
Una vez que haya creado el par de claves SSH, inicie Tmate ejecutando el siguiente comando desde su Terminal:
$ tmate
Si ingresó una frase de contraseña mientras creaba el par de claves SSH, es posible que deba ingresarla para establecer la sesión de Tmate.
Después de iniciar la sesión de Tmate, comparta la ID de conexión con cualquier persona con la que desee compartir su pantalla. Puede compartirlo con cualquier número de personas en las que confíe. No necesitan estar en la misma red o no necesitan usar el mismo sistema operativo. Ni siquiera tienen que tener instalado tmate o tmux.
Así es como se ven las sesiones de Tmate.
Sesión Tmate
Como puede ver en la captura de pantalla anterior, hay una ID de sesión SSH (una cadena de caracteres aleatorios) en la parte inferior de la pantalla. Simplemente cópielo y compártalo con otros para conectarse. Tenga en cuenta que esta identificación desaparecerá después de unos segundos. Sin embargo, aún puede ver las ID de las sesiones usando el comando:
$ tmate show-messages
La salida de muestra 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 [email protected] 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 [email protected]
Como ve en el resultado anterior, puede compartir la Terminal a través de una sesión SSH o una sesión web utilizando los ID de sesión respectivos. También puede compartir la sesión de solo lectura o sesión de lectura y escritura .
Nota muy muy importante: Tenga en cuenta que si ha proporcionado ID de sesión de lectura y escritura (ya sea SSH o Web), el usuario puede hacer cualquier cosa. Porque acabas de darle acceso a tu sistema con derechos sudo . Por lo tanto, le sugiero enfáticamente que proporcione ID de sesión de solo lectura .
Cuando comparte la sesión de solo lectura, no desea permitir que los usuarios remotos vean las otras ID de sesión de lectura y escritura. Entonces, simplemente borre la Terminal antes de dar las ID de sesión a los usuarios .
Conéctese a través de sesiones SSH
Para aquellos que quieran compartir la Terminal a través de sesiones SSH, proporcione la ID de la sesión SSH a los usuarios remotos.
Por ejemplo, los usuarios remotos deben ingresar el siguiente comando para acceder a la sesión Tmate de solo lectura desde su sistema.
$ ssh [email protected]
En la sesión de solo lectura, los usuarios remotos solo pueden ver su Terminal. No pueden ejecutar ningún comando.
Para compartir la sesión de lectura y escritura, el comando es:
$ ssh [email protected]
Ahora, los usuarios remotos pueden acceder a su terminal en modo lectura-escritura. Eso significa que pueden ejecutar cualquier comando en su Terminal. Todos los comandos que ingresan en la sesión remota también se pueden ver desde su Terminal local.
Conéctese a través de sesiones web
Para aquellos que quieran compartir la Terminal a través de un navegador web, solo proporcione la URL web a otros para que se conecten.
Por ejemplo, para compartir la lectura y escritura, les daría esta URL a mis compañeros de trabajo: https://tmate.io/t/LVWgMSX2wNhBLdrLfxtcX00rk
Cuando ingresen la URL anterior, verán la siguiente pantalla.
Tmate sesión web
Nuevamente, le advierto que no proporcione ID de sesión de lectura y escritura a nadie a menos que sea absolutamente necesario. Comparta las sesiones de lectura y escritura solo con personas de confianza.
Lectura sugerida:
- Reptyr:mueva un proceso en ejecución de un terminal a otro sin cerrarlo
Trabajar bajo una sesión tmate es exactamente igual que tmux. Puede pensar en tmate como un túnel ssh inverso accesible desde cualquier lugar. Para salir de una sesión, escriba salir . Para obtener más detalles, consulte las páginas man.
$ man tmate