GNU/Linux >> Linux Esercitazione >  >> Linux

Tmate:condividi istantaneamente il tuo terminale con chiunque da qualsiasi luogo

Esistono molti popolari programmi di condivisione desktop remoto (come Teamviewer, Gucamole e TigerVNC ecc.) che puoi utilizzare quando devi condividere lo schermo con i tuoi colleghi o amici. Questi programmi condivideranno l'intero schermo con gli altri. Ma, se vuoi condividere solo il Terminale, puoi semplicemente usare Tmate . In realtà è un fork di Tmux , un multiplexer di terminale che consente di utilizzare più programmi in un unico terminale. Entrambi possono essere installati contemporaneamente sullo stesso sistema. Tmate è qualcosa come un Teamviewer per il tuo terminale.

Per coloro che si chiedono, Tmate stabilirà una connessione sicura tramite SSH a tmate.io sito Web e generare un URL casuale per ogni sessione. Puoi condividere l'URL con qualcuno di cui ti fidi e loro possono utilizzare il Terminale come usano il proprio Terminale purché la connessione sia attiva. È l'ideale per collaborare a progetti comuni, eseguire il debug di un progetto con un team di sviluppatori o ottenere supporto tecnico su una rete remota. Tmate supporta tutti i più diffusi sistemi operativi, inclusi GNU/Linux, Mac OS X e BSD.

In questo tutorial spiegherò come installare e utilizzare Tmate in sistemi operativi simili a Unix.

Tmate - Condividi istantaneamente il tuo terminale con chiunque, ovunque

Installazione di Tmate

Per Arch Linux e i suoi derivati ​​come Antergos, Manjaro Linux, Tmate sono disponibili in AUR , quindi puoi installarlo utilizzando programmi di supporto AUR come Yay .

$ yay -S tmate

Per Fedora , esegui il comando seguente per installare Tmate.

$ sudo dnf install tmate

Su Ubuntu e i suoi derivati ​​come Linux Mint, puoi installarlo usando il seguente 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

Su Ubuntu 18.04 LTS versioni, abilita il repository dell'universo e installa Tmate come di seguito.

$ sudo add-apt-repository universe
$ sudo apt install tmate

Su FreeBSD :

# pkg install tmate

OpenBSD:

# pkg_add tmate
Download consigliato - Ebook gratuito:"Impara Linux in 5 giorni"

Configura SSH

Prima di iniziare a usare Tmate, dobbiamo creare una coppia di chiavi SSH. Perché il programma tmate stabilisce una connessione SSH sicura con tmate.io utilizzando la coppia di chiavi SSH locale.

Creiamo una coppia di chiavi SSH usando il 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]-----+

Se non crei, vedrai il seguente messaggio di notifica nella parte inferiore della finestra del Terminale.

[Tmate] Reconnecting... (SSH keys not found. Run  'ssh-keygen' to create keys and try again.)

Utilizzo del compagno

Dopo aver creato la coppia di chiavi SSH, avvia Tmate eseguendo il seguente comando dal tuo Terminale:

$ tmate

Se hai inserito una passphrase durante la creazione di una coppia di chiavi SSH, potrebbe essere necessario inserirla per stabilire la sessione Tmate.

Dopo aver avviato la sessione di Tmate, condividi l'ID di connessione con chiunque desideri condividere lo schermo. Puoi condividerlo con qualsiasi numero di persone di cui ti fidi. Non devono essere nella stessa rete o non devono utilizzare lo stesso sistema operativo. Non devono nemmeno avere installato tmate o tmux.

Ecco come appaiono le sessioni di Tmate.

Tmate sessione

Come puoi vedere nello screenshot sopra, c'è un ID sessione SSH (una stringa di caratteri casuali) nella parte inferiore dello schermo. Basta copiarlo e condividerlo con gli altri per connettersi. Tieni presente che questo ID scomparirà dopo pochi secondi. Tuttavia, puoi ancora visualizzare gli ID delle sessioni usando il comando:

$ tmate show-messages

L'output di esempio sarebbe:

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]

Come puoi vedere nell'output sopra, puoi condividere il Terminale tramite una sessione SSH o una sessione Web utilizzando i rispettivi ID di sessione. Puoi anche condividere la sessione di sola lettura o sessione di lettura-scrittura .

Nota molto molto importante: Tieni presente che se hai fornito ID di sessione di lettura e scrittura (SSH o Web), l'utente può fare qualsiasi cosa. Perché gli hai appena concesso l'accesso al tuo sistema con diritti sudo . Pertanto, ti suggerisco caldamente di fornire ID sessione di sola lettura .

Quando condividi la sessione di sola lettura, non vuoi consentire agli utenti remoti di visualizzare gli altri ID di sessione di lettura e scrittura. Quindi, deseleziona semplicemente il Terminale prima di fornire gli ID di sessione agli utenti .

Connettiti tramite sessioni SSH

Per coloro che desiderano condividere il Terminale tramite sessioni SSH, fornire l'ID sessione SSH agli utenti remoti.

Ad esempio, gli utenti remoti immettono il seguente comando per accedere alla sessione Tmate di sola lettura dal proprio sistema.

$ ssh [email protected]

Nella sessione di sola lettura, solo gli utenti remoti possono visualizzare il tuo Terminale. Non possono eseguire alcun comando.

Per condividere la sessione di lettura-scrittura, il comando è:

$ ssh [email protected]

Ora, gli utenti remoti possono accedere al tuo terminale in modalità lettura-scrittura. Ciò significa che possono eseguire qualsiasi comando sul tuo terminale. Tutti i comandi immessi nella sessione remota possono essere visualizzati anche dal tuo Terminale locale.

Connettiti tramite sessioni Web

Per chi vuole condividere il Terminale tramite un browser web, basta dare l'URL web ad altri per connettersi.

Supponiamo, ad esempio, che per condividere la lettura e la scrittura, darei questo URL ai miei colleghi - https://tmate.io/t/LVWgMSX2wNhBLdrLfxtcX00rk

Quando inseriscono l'URL sopra, vedranno la seguente schermata.

Tmate sessione web

Ancora una volta, ti avverto di non fornire ID di sessione di lettura e scrittura a nessuno a meno che non sia assolutamente necessario. Condividi le sessioni di lettura-scrittura solo con persone fidate.

Lettura consigliata:

  • Reptyr:sposta un processo in esecuzione da un terminale all'altro senza chiuderlo

Lavorare in una sessione tmate è esattamente lo stesso di tmux. Puoi pensare a tmate come a un tunnel ssh inverso accessibile da qualsiasi luogo. Per uscire da una sessione, digita exit . Per maggiori dettagli, fare riferimento alle pagine man.

$ man tmate

Linux
  1. Registra la tua sessione terminale con Asciinema

  2. Leggi e scrivi dati da qualsiasi luogo con reindirizzamento nel terminale Linux

  3. Qual è il tuo emulatore di terminale preferito?

  4. Qual è il tuo emulatore di terminale Linux preferito?

  5. Parti per un'avventura nel tuo terminale Linux

Come condividere il tuo terminale sul Web utilizzando Streamhut

Wpm – Misura la tua velocità di digitazione dal terminale

Bashhub:accedi alla cronologia del tuo terminale da qualsiasi luogo

Condividi e controlla i terminali in tempo reale dal browser web

tmate:condividi istantaneamente la sessione del terminale con altri utenti Linux

Come condividere le directory sulla tua LAN da Ubuntu Desktop 22.04