
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

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.

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 show
oder 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 htop
startet der Befehl direkt den htop
Prozessmanager, während ttyd vim
oder ttyd top
die entsprechenden Tools freigibt.

Wenn Sie die Portnummer für Ihre Sitzung anpassen möchten, können Sie dies ganz einfach mit dem -p
Flag 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 -c
Option:
ttyd -c username:password bash

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 -W
Flag 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.
Schreibe einen Kommentar