Verwandeln Sie Ihr Terminal mit ttyd in eine gemeinsam nutzbare Webseite

Verwandeln Sie Ihr Terminal mit ttyd in eine gemeinsam nutzbare Webseite

Mussten Sie schon einmal Ihre Terminalaktivitäten in Echtzeit demonstrieren, sei es bei der Behebung eines Serverproblems mit einem Kollegen oder bei der Demonstration eines komplexen Befehls an einen Freund? Stellen Sie sich vor, Sie könnten Ihre Live-Terminalsitzung bequem über einen einfachen Weblink teilen, anstatt Screenshots zu machen oder Ihren Bildschirm aufzuzeichnen. Diese Methode verbessert nicht nur die Zusammenarbeit, sondern ermöglicht auch Echtzeit-Einblicke in Ihre Aktivitäten.

Linux bietet verschiedene Methoden zur Terminalfreigabe, darunter traditionelle Optionen wie SSH, Tools wie tmux und screen sowie Bildschirmaufzeichnungsprogramme wie asciinema. Diese Optionen können zwar effektiv sein, bringen aber oft unnötige Komplexität und zusätzliche Abhängigkeiten mit sich, die Ihren Arbeitsablauf behindern können.

Rufen Sie das Befehlszeilentool ttyd auf.ttyd vereinfacht die gemeinsame Nutzung Ihres Terminals, indem es es in eine Weboberfläche umwandelt. So kann jeder mit dem Link auf Ihre Sitzung zugreifen und sogar mit ihr interagieren, ohne dass zusätzliche Software installiert oder Einstellungen konfiguriert werden müssen.

Hauptfunktionen von ttyd

  • Nutzt Libwebsockets und libuv für außergewöhnliche Leistung.
  • Verwendet WebSockets für ein nahtloses Erlebnis, selbst bei eingeschränkter Konnektivität.
  • Unterstützt grafisches ZMODEM für Dateiübertragungen, sodass Benutzer Dateien per Drag & Drop direkt über den Webbrowser verschieben können.
  • Beinhaltet SSL/TLS-Verschlüsselung zur Gewährleistung sicherer Sitzungen mit Optionen zur Authentifizierung.
  • Läuft auf jedem dafür vorgesehenen Port und bietet Kompatibilität für die Bereitstellung auf Geräten wie Raspberry Pi.
  • Verfügt über eine integrierte Kopier-/Einfügefunktion zwischen dem Terminal und der Weboberfläche.
  • Möglichkeit, gleichzeitige Verbindungen für die Sitzungsverwaltung einzuschränken.
  • Öffnet Sitzungen automatisch im Standard-Webbrowser.
  • Ermöglicht Zugriffsbeschränkungen für einzelne Clients zur Erhöhung der Sicherheit.

So installieren Sie ttyd unter Linux

Benutzer von Debian oder Ubuntu stellen möglicherweise fest, dass ttyd in den Standard-Repositorys nicht vorhanden ist. Die Installation ist jedoch mit alternativen Methoden, z. B.durch Erstellen aus der Quelle, weiterhin unkompliziert.

Stellen Sie zunächst sicher, dass Ihr System vollständig aktualisiert ist:

sudo apt update && sudo apt upgrade -y

Installieren Sie als Nächstes die erforderlichen Abhängigkeiten zum Kompilieren von ttyd:

sudo apt install -y build-essential cmake git libjson-c-dev libwebsockets-dev

Installation des Ttyd-Tools

Klonen Sie das ttyd-Repository von GitHub und kompilieren Sie es mit den folgenden Befehlen:

git clone https://github.com/tsl0922/ttyd.git cd ttyd mkdir build && cd build cmake..make sudo make install

Das ist alles! Sie haben jetzt ttyd auf Ihrem System installiert.

Für andere Linux-Distributionen können Sie ähnliche Build-Richtlinien befolgen oder alternativ eine vorkompilierte Binärdatei von der GitHub-Releases-Seite von ttyd herunterladen. Um sie schnell herunterzuladen, verwenden Sie den folgenden wget-Befehl:

wget https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.x86_64

Machen Sie die heruntergeladene Binärdatei ausführbar:

chmod +x ttyd.x86_64

Mit dieser Methode können Sie ttyd schnell und einfach auf verschiedenen Linux-Distributionen installieren. Alternativ können Sie auch einen universellen Paketmanager wie Snap verwenden, um ttyd zu installieren:

sudo snap install ttyd --classic

Sobald ttyd installiert wurde, überprüfen Sie Ihre Installation durch Eingabe von ttyd --version.

Verwandeln Sie Ihr Terminal in eine gemeinsam nutzbare Weboberfläche

Die einfachste Möglichkeit, ttyd zu nutzen, besteht darin, Ihre Standard-Shell-Sitzung freizugeben. Führen Sie den folgenden Befehl aus:

ttyd bash

Dieser Befehl startet standardmäßig einen Webserver auf Port 7681. Um darauf zuzugreifen, öffnen Sie einfach Ihren Webbrowser und navigieren Sie zu http://localhost:7681 oder http://Ihre-IP-Adresse:7681.

Mit Ttyd erstellte, gemeinsam nutzbare Webseite

Ihr Terminal sollte nun auf einer Webseite sichtbar sein und alle lokalen Netzwerkbenutzer können darauf zugreifen, indem sie „localhost“ durch die IP-Adresse Ihres Computers ersetzen. Sie können Ihre IP-Adresse ermitteln, indem Sie ip addr showoder verwenden hostname -I, um sie mit anderen zu teilen.

Neben der gemeinsamen Nutzung einer Shell ermöglicht ttyd auch die Anzeige anderer Befehlszeilenanwendungen im Browser. Beispielsweise ttyd htopstartet der Befehl direkt den htopProzessmanager, während ttyd vimoder ttyd topdie entsprechenden Tools freigibt.

Öffnen der Ausgabe des obersten Befehlszeilentools auf der Webseite

Wenn Sie die Portnummer für Ihre Sitzung anpassen möchten, können Sie dies ganz einfach mit dem -pFlag tun:

ttyd -p 8080 bash

Dadurch wird Ihr Terminal auf Port 8080 statt auf dem Standardport 7681 verfügbar.

Um unbefugten Zugriff zu verhindern, unterstützt ttyd auch die Authentifizierung durch die -cOption:

ttyd -c username:password bash

Anmeldeoption für Terminalsitzung mit Ttyd

Diese Konfiguration erfordert eine einfache HTTP-Authentifizierung. Dadurch wird sichergestellt, dass jeder, der versucht, auf Ihr Terminal zuzugreifen, die angegebenen Anmeldeinformationen eingeben muss. Während für Produktionsumgebungen eine komplexere Authentifizierung vorzuziehen ist, eignet sich diese Methode für informelle Demonstrationen oder vertrauenswürdige Netzwerke.

Darüber hinaus können Sie eine schreibgeschützte Sitzung erstellen, die jegliche Eingaben von Benutzern verhindert:

ttyd -R bash

Dies kann insbesondere für Präsentationen oder Bildungseinrichtungen von Vorteil sein, bei denen Sie die Kontrolle behalten möchten. Verwenden Sie das -WFlag umgekehrt für eine beschreibbare und interaktive Sitzung:

ttyd -W bash

Sicheres Teilen über das Internet

Wenn Sie Ihr Terminal über das Internet teilen, ist die Implementierung von Verschlüsselung unerlässlich.ttyd bietet HTTPS-Unterstützung mit Ihrem eigenen SSL-Zertifikat. Falls Sie kein SSL-Zertifikat besitzen, können Sie zu Testzwecken ein selbstsigniertes Zertifikat mit OpenSSL erstellen. Für den produktiven Einsatz empfiehlt sich jedoch die Nutzung einer vertrauenswürdigen Zertifizierungsstelle wie Let’s Encrypt.

Während ttyd standardmäßig nur über Ihr lokales Netzwerk zugänglich ist, besteht häufig die Notwendigkeit, diesen Zugriff extern zu erweitern. Dies lässt sich auf verschiedene Weise sicher erreichen. Eine der einfachsten Methoden ist die Integration von ttyd in einen Tunneldienst wie Tailscale oder Cloudflare Tunnel, der Ihren lokalen Port über eine temporäre öffentliche URL sicher im Internet verfügbar macht. Alternativ können Sie ttyd auf einem VPS oder Cloud-Server mit einem Domänennamen hosten, der einen permanenten HTTPS-Zugriff ermöglicht.

Für erweiterte Konfigurationen können Sie ttyd ausschließlich an localhost binden und hinter einem Reverse-Proxy wie Nginx oder Caddy platzieren. Dieses Setup ermöglicht die Handhabung von SSL-Terminierung, Authentifizierung und detaillierter Zugriffskontrolle.

Abschluss

Mit ttyd wird der komplizierte Prozess der Terminalfreigabe zu einem einfachen Unterfangen, ähnlich dem Teilen eines Hyperlinks.

Quelle & Bilder

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert