GNU/Linux >> Linux Esercitazione >  >> Linux

Condividi e controlla i terminali in tempo reale dal browser web

Questa guida spiega cos'è TermPair, come funziona e come condividere e controllare i terminali in tempo reale dal browser web con crittografia end-to-end utilizzando TermPair in Linux.

Cos'è TermPair?

TermPair è un servizio web che permette a chiunque di visualizzare e controllare le proprie sessioni del Terminale in tempo reale da un browser web. In poche parole, consente alle persone di collaborare, visualizzare, condividere, tutto in tempo reale.

Utilizzando TermPair, puoi condividere in modo rapido, semplice e sicuro il tuo terminale sul Web e accedervi, nonché controllarlo da qualsiasi dispositivo abilitato a Internet.

TermPair utilizza AES-GCM 128 bit crittografia end-to-end, in modo che tutti i dati del Terminale vengano trasferiti in modo sicuro tra il client e il browser web. Né il server TermPair né terzi possono leggere i dati trasmessi.

È completamente gratuito e il codice sorgente di TermPair è disponibile pubblicamente in GitHub. TermPair è scritto utilizzando Python e tecnologie web come CSS, HTML e JavaScript.

Come funziona TermPair?

TermPair è costituito dai seguenti componenti:

  • Server TermPair,
  • Client terminale Unix (il tuo sistema),
  • Browser web.

La trasmissione dei dati avviene tra il client Terminal e il browser come di seguito descritto:

1. Innanzitutto, avviamo il server TermPair con termpair serve comando dal nostro sistema. Il server TermPair funge da router tra il Terminale e il browser. Invia dati crittografati tra i client del terminale e i browser collegati.

2. Il server TermPair ascolta le connessioni websocket termpair dal client del terminale Unix e mantiene una mappatura a tutti i browser collegati.

3. Nel client del terminale Unix, uno pseudoterminale (pty ) viene avviato il processo con una nuova shell e viene generata una chiave di crittografia nel sistema dell'utente.

4. Dopo aver generato la chiave di crittografia, la nuova sessione client viene registrata sul server TermPair con un ID sessione univoco.

5. Quindi, tutti i pty IO è crittografato utilizzando una chiave segreta, quindi il server TermPair non può leggerlo. Dopo aver crittografato i dati del terminale, vengono condivisi tramite websocket al server TermPair per un ulteriore instradamento.

6. Il server TermPair riceve e invia i dati crittografati del terminale ai browser tramite websocket. Tieni presente che il server TermPair non riceve la chiave segreta. Riceve solo i dati crittografati.

7. Il browser ottiene la chiave di crittografia segreta tramite una parte dell'URL. L'hash dell'URL che contiene la chiave segreta non sarà esposto al server TermPair.

8. Quando i browser hanno ricevuto i dati crittografati, li decrittografa utilizzando la chiave segreta e infine visualizza l'output del terminale nel browser.

9. Allo stesso modo, quando i dati vengono inviati dal browser al terminale, vengono crittografati utilizzando una chiave segreta e inoltrati al server TermPair.

10. Il server riceve i dati crittografati e li rinvia al Terminale. I dati vengono decifrati utilizzando la chiave segreta nel Terminale e infine visualizzati nello standard output.

Questo è il modo in cui avviene il trasferimento dei dati tra il client Terminal, il server TermPair e il browser web. Tutti i dati sono crittografati e trasmessi in modo sicuro da un punto all'altro.

TermPair funziona su tutte le shell, ad esempio bash , zsh e funziona con qualsiasi programma come vim , emacs , tmux , ssh ecc.

Avvertenze

TermPair è buono per coloro che vogliono collaborare in tempo reale. Ha anche alcune scappatoie di sicurezza. Se non stai attento, potrebbe essere un errore catastrofico.

Non dovresti mai provarlo in un luogo pubblico. Qualcuno potrebbe vedere l'URL condivisibile e cercare di ottenere il controllo del tuo sistema. Ancora più importante, devi essere consapevole di ciò che qualcuno può fare se consenti loro di controllare il tuo Terminale.

Chiunque abbia l'ID condivisibile (URL) TermPair può eseguire le seguenti operazioni se conosce il sudo parola d'ordine. Se hai avviato la sessione con root utente, sarebbe molto pericoloso!

  • Possono visualizzare ogni carattere emesso dal terminale.
  • Esegui qualsiasi comando,
  • Accedi all'intero filesystem,
  • Visualizza tutti i dati nel tuo sistema,
  • Elimina tutti i dati,
  • Riavvia o spegni il sistema
  • Installa un malware o un virus
  • e qualsiasi cosa, tutto!

Se ti trovi in ​​una rete chiusa e affidabile, o se vuoi testarla sul tuo sistema locale, vai avanti. Non farà alcun male.

Installa TermPair in Linux

Per far funzionare TermPair, dovresti avere un sistema Linux con Python 3.6+ installato.

Installa TermPair in Linux usando pipx o pip gestori di pacchetti come di seguito:

$ pipx install termpair

Oppure,

$ pip install termpair

Puoi anche eseguire TermPair senza installarlo:

Servire:

$ pipx run termpair serve

Quindi condividi:

$ pipx run termpair share --open-browser

Condividi e controlla i terminali in tempo reale dal browser web utilizzando TermPair

1. Avvia il server TermPair usando il comando:

$ termpair serve

Risultato di esempio:

 INFO:     Started server process [19084]
 INFO:     Waiting for application startup.
 INFO:     Application startup complete.
 INFO:     Uvicorn running on http://localhost:8000 (Press CTRL+C to quit)

Dovrebbe essere in esecuzione prima di iniziare a condividere il tuo terminale.

2. Apri una nuova finestra o scheda Terminale ed esegui il seguente comando per condividere il tuo Terminale:

$ termpair share --host "http://localhost/" --port 8000

Risultato di esempio:

 Connection established with end-to-end encryption 🔒
 Sharing '/bin/bash' at
 http://localhost:8000/?terminal_id=0a8cxxxxxxxxxx1234x*&
 Type 'exit' or close terminal to stop sharing.

Verrà generato un ID sessione TermPair univoco come mostrato sopra.

3. Apri il tuo browser web e copia/incolla l'ID sessione mostrato nella barra degli indirizzi.

Ora, qualunque cosa digiti nel Terminale apparirà nel browser e viceversa. Significato:puoi digitare i comandi nel browser o nel terminale. L'input e l'output appariranno in entrambe le finestre. Questo dà il pieno controllo a chiunque abbia l'ID di sessione.

Per uscire dalla condivisione del Terminale è sufficiente chiudere il terminale o digitare exit e premi ENTER . Dopo aver interrotto la condivisione del terminale, vai al Terminale in cui è stato avviato TermPair e premi CTRL+C per uscirne.

4. Se non vuoi dare il pieno controllo, puoi usare --no-browser-control o -n opzione.

Assicurati che il server TermPair sia avviato e avvia la condivisione del terminale in modalità di sola lettura come di seguito.

$ termpair serve
$ termpair share --host "http://localhost/" --port 8000 -n

In modalità di sola lettura, non possono eseguire alcun comando nel browser ma visualizzare solo ciò che viene stampato nel Terminale. Puoi decidere chi può e chi non può controllare il tuo Terminale.

5. Per impostazione predefinita, il server TermPair verrà eseguito sulla porta 8000 . Puoi anche scegliere qualsiasi altra porta a tua scelta. Ad esempio, il comando seguente esegue il server TermPair sulla porta 8080 .

$ termpair share --host "http://localhost/" --port 8080

6. Se desideri aprire automaticamente un browser web dopo aver avviato la condivisione, usa --open-browser o -b opzione.

$ termpair share --host "http://localhost/" --port 8000 -b

Ricorda che il server termpair deve essere in esecuzione prima di utilizzare questo comando.

7. Per visualizzare la sezione della guida, eseguire:

$ termpair serve --help
$ termpair share --help

Conclusione

TermPair ci aiuta a condividere le tue sessioni Terminal con chiunque senza troppi problemi. Potresti usarlo quando hai bisogno di aiuto con il tuo codice. Puoi condividere il Terminale con il tuo fidato amico o collega. Possono visualizzare istantaneamente e accedere alla tua sessione terminale da qualsiasi luogo e assisterti in ogni modo possibile.

Come già affermato, devi anche stare attento quando condividi il tuo terminale. Se non capisci come funziona, probabilmente è una buona idea evitare di utilizzare questo strumento.


Linux
  1. Controlla l'ora e la data del tuo computer con systemd

  2. Come cercare nel Web da terminale su Linux

  3. Come cancellare la cache del browser Web dalla riga di comando in Linux

  4. Relazioni tra caratteri di controllo, segnali e terminale?

  5. Popcorn Time - Trasmetti in streaming film e programmi TV istantaneamente da Torrents

Controlla la luminosità dello schermo dal terminale di Ubuntu

Come aprire un URL nel browser Web dal terminale Linux

Come installare TermPair per condividere e controllare i terminali in tempo reale da Web Browser

Controlla l'utilizzo di RAM e CPU da parte di Kodi in tempo reale

Utilizzo di Cockpit per monitorare e gestire graficamente più server Linux da un browser Web

Scopri CyberPanel e installalo per controllare il tuo host web