GNU/Linux >> Tutoriales Linux >  >> Linux

Tmate:comparta su terminal al instante con cualquier persona desde cualquier lugar

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

OpenBSD:

# pkg_add tmate
Descarga 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

Linux
  1. Graba tu sesión de terminal con Asciinema

  2. Lea y escriba datos desde cualquier lugar con redirección en la terminal de Linux

  3. ¿Cuál es tu emulador de terminal favorito?

  4. ¿Cuál es tu emulador de terminal de Linux favorito?

  5. Embárcate en una aventura en tu terminal Linux

Cómo compartir su terminal a la web usando Streamhut

Wpm:mida su velocidad de escritura desde la terminal

Bashhub:acceda al historial de su terminal desde cualquier lugar

Comparta y controle terminales en tiempo real desde el navegador web

tmate:Comparta instantáneamente la sesión de terminal con otros usuarios de Linux

Cómo compartir directorios a su LAN desde Ubuntu Desktop 22.04