GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Teilen und steuern Sie Terminals in Echtzeit über den Webbrowser

Diese Anleitung erklärt, was TermPair ist, wie es funktioniert und wie man Terminals in Echtzeit über einen Webbrowser mit Ende-zu-Ende-Verschlüsselung mit TermPair unter Linux teilt und steuert.

Was ist TermPair?

Begriffspaar ist ein Webdienst, der es jedem ermöglicht, seine Terminalsitzungen in Echtzeit über einen Webbrowser anzuzeigen und zu steuern. Einfach ausgedrückt, ermöglicht es Menschen, in Echtzeit zusammenzuarbeiten, Inhalte anzuzeigen und zu teilen.

Mit TermPair können Sie Ihr Terminal schnell, einfach und sicher im Internet freigeben und von jedem internetfähigen Gerät aus darauf zugreifen und es steuern.

TermPair verwendet AES-GCM 128 bit Ende-zu-Ende-Verschlüsselung, sodass alle Terminaldaten sicher zwischen Client und Webbrowser übertragen werden. Weder der TermPair-Server noch Dritte können die übermittelten Daten mitlesen.

Die Nutzung ist völlig kostenlos und der Quellcode von TermPair ist öffentlich auf GitHub verfügbar. TermPair wurde mit Python und Webtechnologien wie CSS, HTML und JavaScript geschrieben.

Wie funktioniert TermPair?

TermPair besteht aus den folgenden Komponenten:

  • TermPair-Server,
  • Unix-Terminal-Client (Ihr System),
  • Webbrowser.

Die Datenübertragung zwischen dem Terminal-Client und dem Browser erfolgt wie folgt:

1. Zuerst starten wir den TermPair-Server mit termpair serve Befehl von unserem System. Der TermPair-Server fungiert als Router zwischen Ihrem Terminal und Ihrem Browser. Es sendet verschlüsselte Daten zwischen den Terminal-Clients und den verbundenen Browsern.

2. Der TermPair-Server wartet auf Termpair-Websocket-Verbindungen vom Unix-Terminal-Client und verwaltet eine Zuordnung zu allen verbundenen Browsern.

3. Im Unix-Terminal-Client wird ein Pseudoterminal (pty ) Prozess wird mit einer neuen Shell gestartet und ein Verschlüsselungsschlüssel wird im System des Benutzers generiert.

4. Nachdem der Verschlüsselungsschlüssel generiert wurde, wird die neue Clientsitzung beim TermPair-Server mit einer eindeutigen Sitzungs-ID registriert.

5. Als nächstes alle pty IO wird mit einem geheimen Schlüssel verschlüsselt, sodass der TermPair-Server ihn nicht lesen kann. Nach dem Verschlüsseln der Terminaldaten werden diese über Websocket zum weiteren Routing an den TermPair-Server weitergegeben.

6. Der TermPair-Server empfängt und sendet die verschlüsselten Endgerätedaten per Websocket an Browser. Bitte beachten Sie, dass der TermPair-Server den geheimen Schlüssel nicht erhält. Es empfängt nur die verschlüsselten Daten.

7. Der Browser erhält den geheimen Verschlüsselungsschlüssel über einen Teil der URL. Der URL-Hash, der den geheimen Schlüssel enthält, wird dem TermPair-Server nicht offengelegt.

8. Wenn der Browser die verschlüsselten Daten erhalten hat, entschlüsselt er sie mit dem geheimen Schlüssel und zeigt schließlich die Terminalausgabe im Browser an.

9. Ebenso werden die Daten, wenn sie vom Browser zum Endgerät gesendet werden, mit einem geheimen Schlüssel verschlüsselt und an den TermPair-Server weitergeleitet.

10. Der Server empfängt die verschlüsselten Daten und sendet die Daten zurück an das Terminal. Die Daten werden mit dem geheimen Schlüssel im Terminal entschlüsselt und schließlich in der Standardausgabe angezeigt.

So findet die Datenübertragung zwischen Terminal-Client, TermPair-Server und dem Webbrowser statt. Alle Daten werden verschlüsselt und sicher von einem Punkt zum anderen übertragen.

TermPair funktioniert auf allen Shells, zum Beispiel bash , zsh und funktioniert mit allen Programmen wie vim , emacs , tmux , ssh usw.

Warnhinweise

TermPair ist gut für diejenigen, die in Echtzeit zusammenarbeiten möchten. Es hat auch einige Sicherheitslücken. Wenn Sie nicht aufpassen, könnte es ein katastrophaler Fehler sein.

Sie sollten dies niemals an einem öffentlichen Ort versuchen. Jemand kann die gemeinsam nutzbare URL sehen und versuchen, die Kontrolle über Ihr System zu erlangen. Noch wichtiger ist, dass Sie sich darüber im Klaren sind, was jemand tun kann, wenn Sie ihm erlauben, Ihr Terminal zu kontrollieren.

Jeder mit der gemeinsam nutzbaren TermPair-ID (URL) kann Folgendes tun, wenn er den sudo kennt Passwort. Wenn Sie die Sitzung mit root gestartet haben Benutzer, es wäre sehr gefährlich!

  • Sie können jedes vom Terminal ausgegebene Zeichen sehen.
  • Führen Sie beliebige Befehle aus
  • Greifen Sie auf das gesamte Dateisystem zu,
  • Alle Daten in Ihrem System anzeigen
  • Alle Daten löschen,
  • System neu starten oder herunterfahren,
  • Installieren Sie eine Malware oder einen Virus
  • und alles, alles!

Wenn Sie sich in einem geschlossenen und vertrauenswürdigen Netzwerk befinden oder es auf Ihrem lokalen System testen möchten, fahren Sie fort. Es wird nicht schaden.

TermPair unter Linux installieren

Damit TermPair funktioniert, sollten Sie ein Linux-System mit Python 3.6+ haben installiert.

Installieren Sie TermPair unter Linux mit pipx oder pip Paketmanager wie unten:

$ pipx install termpair

Oder,

$ pip install termpair

Sie können TermPair auch ohne Installation ausführen:

Servieren:

$ pipx run termpair serve

Dann teilen:

$ pipx run termpair share --open-browser

Teilen und steuern Sie Terminals in Echtzeit über den Webbrowser mit TermPair

1. Starten Sie den TermPair-Server mit dem Befehl:

$ termpair serve

Beispielausgabe:

 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)

Dies sollte ausgeführt werden, bevor Sie mit der Freigabe Ihres Terminals beginnen.

2. Öffnen Sie ein neues Terminalfenster oder eine neue Registerkarte und führen Sie den folgenden Befehl aus, um Ihr Terminal freizugeben:

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

Beispielausgabe:

 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.

Eine eindeutige TermPair-Sitzungs-ID wird wie oben gezeigt generiert.

3. Öffnen Sie Ihren Webbrowser und kopieren Sie die in der Adressleiste angezeigte Sitzungs-ID.

Jetzt wird alles, was Sie in das Terminal eingeben, im Browser angezeigt und umgekehrt. Bedeutung - Sie können die Befehle entweder im Browser oder im Terminal eingeben. Die Ein- und Ausgabe erscheint in beiden Fenstern. Dies gibt jedem, der die Sitzungs-ID hat, die volle Kontrolle.

Um die Terminalfreigabe zu beenden, schließen Sie einfach das Terminal oder geben Sie exit ein und drücken Sie ENTER . Nachdem Sie die Terminalfreigabe beendet haben, gehen Sie zu dem Terminal, in dem das TermPair gestartet wird, und drücken Sie CTRL+C um es zu verlassen.

4. Wenn Sie keine vollständige Kontrolle geben möchten, können Sie --no-browser-control verwenden , oder -n Option.

Stellen Sie sicher, dass der TermPair-Server gestartet ist, und starten Sie die Terminalfreigabe im schreibgeschützten Modus wie unten.

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

Im schreibgeschützten Modus können sie keine Befehle im Browser ausführen, sondern nur das anzeigen, was im Terminal gedruckt wird. Sie können entscheiden, wer Ihr Terminal steuern darf und wer nicht.

5. Standardmäßig läuft der TermPair-Server auf Port 8000 . Sie können auch jeden anderen Port Ihrer Wahl auswählen. Der folgende Befehl führt beispielsweise den TermPair-Server auf Port 8080 aus .

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

6. Wenn Sie einen Webbrowser automatisch öffnen möchten, nachdem Sie mit dem Teilen begonnen haben, verwenden Sie --open-browser , oder -b Option.

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

Denken Sie daran, dass der Termpair-Server laufen muss, bevor Sie diesen Befehl verwenden.

7. Um den Hilfebereich anzuzeigen, führen Sie Folgendes aus:

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

Schlussfolgerung

TermPair hilft uns, Ihre Terminal-Sitzungen ohne großen Aufwand mit anderen zu teilen. Sie können es verwenden, wenn Sie Hilfe mit Ihrem Code benötigen. Sie können das Terminal mit Ihrem vertrauenswürdigen Freund oder Kollegen teilen. Sie können Ihre Terminalsitzung von überall aus sofort anzeigen und darauf zugreifen und Ihnen auf jede erdenkliche Weise behilflich sein.

Wie bereits erwähnt, müssen Sie auch beim Teilen Ihres Terminals vorsichtig sein. Wenn Sie nicht verstehen, wie es funktioniert, ist es wahrscheinlich eine gute Idee, dieses Tool nicht zu verwenden.


Linux
  1. Kontrollieren Sie die Uhrzeit und das Datum Ihres Computers mit systemd

  2. So durchsuchen Sie das Web vom Terminal unter Linux

  3. Beziehungen zwischen Steuerzeichen, Signalen und Terminal?

  4. Die 10 besten Websites zum Ausführen von Linux in einem Webbrowser

  5. Sehen Sie sich das Dateisystem in Echtzeit auf OS X und Ubuntu an

Steuern Sie die Bildschirmhelligkeit über das Ubuntu-Terminal

So öffnen Sie eine URL im Webbrowser vom Linux-Terminal aus

So installieren Sie TermPair, um Terminals in Echtzeit über den Webbrowser freizugeben und zu steuern

Steuern Sie die RAM- und CPU-Nutzung durch Kodi in Echtzeit

Verwenden von Cockpit zur grafischen Überwachung und Verwaltung mehrerer Linux-Server über einen Webbrowser

Entdecken Sie CyberPanel und installieren Sie es, um Ihren Webhost zu steuern