IT,  IoT

Keyway: mein SSH-Client im Browser — Terminal, VNC und Dateien ohne Desktop-Programm

Autor

Ueli Iff

Veröffentlicht

Lesezeit

4 Min.

Keyway: Laptop und Telefon zeigen dasselbe leuchtende Terminal, verbunden durch einen Schlüssel aus Licht — SSH im Browser statt Desktop-Programm

MobaXterm, PuTTY, RealVNC Viewer: Wer Server, SPS und Gateways betreut, sammelt Desktop-Programme — und steht ohne sie da, sobald das Notebook nicht dabei ist. Genau das hat mich gestört. Also habe ich mir meinen eigenen SSH-Client gebaut: Keyway läuft als ein einziger Container auf eigener Hardware, und bedient wird er im Browser — am Rechner, am Tablet und auf dem Telefon. Ohne Cloud-Dienst, ohne Konto bei Dritten, Open Source unter MIT-Lizenz.

Der komplette Quellcode liegt auf GitHub: github.com/uiff/ssh-app — mit ausführlicher README auf Deutsch und Englisch.

Was Keyway kann

Terminal im Browser. Tabs, 256 Farben, Vollbildprogramme wie top oder vi, Kopieren und Einfügen. Das Beste daran: Sitzungen laufen bis zu 12 Stunden auf dem Server weiter. Nach einem Funkloch, einem Neuladen oder einem Gerätewechsel hängt sich die Sitzung von selbst wieder an — mit dem bisherigen Bildschirminhalt.

Bildschirm (VNC). Den Desktop eines Raspberry Pi, eines HMI-Panels oder eines PCs sehen und bedienen, als Tab neben den Terminals. Standardmässig tunnelt Keyway die VNC-Verbindung durch SSH: Im Netz muss kein VNC-Port offen sein, und das VNC-Passwort bleibt auf dem Server — der Browser bekommt nur das Bild.

Dateien per SFTP. Hoch- und Herunterladen per Ziehen und Ablegen, direkt neben dem Terminal. Auf Linux-Hosts folgt die Dateileiste sogar dem Terminal: Nach cd /var/log zeigt sie /var/log.

Gerätetypen statt Namenslisten. Jeder Host bekommt ein Symbol — SPS, HMI, Gateway, Wallbox, Wechselrichter, Server, Raspberry Pi, Firewall und mehr. Gerade im IoT- und OT-Alltag erkennst du deine Geräte so auf einen Blick.

Befehlshilfe offline. Rund 7000 Befehle aus den tldr-pages, eingebaut und ohne Internetverbindung nutzbar. Die Suche versteht Alltagssprache: «archiv entpacken» findet tar — und erklärt, was -xzf bedeutet, bevor du es abschickst.

Tresor. Passwörter und SSH-Schlüssel liegen verschlüsselt auf deinem Server (AES-256-GCM, Schlüsselableitung per Argon2id). Nach 30 Minuten ohne Bedienung sperrt sich die App von selbst. Ein Backup ist eine einzige verschlüsselte Datei — einspielbar auch auf einem neuen System.

Fürs Telefon gemacht. Eigene Tastenleiste mit Esc, Tab, Strg und Pfeilen, Gesten für den VNC-Bildschirm, und auf dem Startbildschirm abgelegt läuft Keyway wie eine App.

Die Vorteile auf einen Blick

Keine Desktop-Abhängigkeit. Jeder Browser ist dein Client — es gibt nichts zu installieren, auch nicht auf fremden oder gesperrten Rechnern.

Selbst gehostet. Ein Container auf deiner Hardware. Keine Cloud, kein Konto, keine Telemetrie — deine Zugangsdaten verlassen dein Netz nicht.

Ein Werkzeug statt drei. Terminal, VNC-Viewer und Dateiübertragung in einem Tab — statt MobaXterm, RealVNC und WinSCP nebeneinander.

Sitzungen überleben. Verbindungsabbrüche, Neuladen, Gerätewechsel — die Terminal-Sitzung läuft serverseitig weiter.

Sicher gebaut. Container ohne Shell, unprivilegierter Benutzer, nur lesbares Dateisystem, Anmeldesperre nach Fehlversuchen, Host-Schlüssel-Prüfung wie bei OpenSSH.

Läuft auch auf dem Pi. Images für amd64 und arm64 — ein Raspberry Pi im Schaltschrank reicht als Zuhause.

Zweisprachig und offen. Oberfläche auf Deutsch und Englisch, Quellcode unter MIT-Lizenz auf GitHub.

Anleitung: in fünf Minuten startklar

Du brauchst nur einen Rechner im eigenen Netz mit Docker und Docker Compose — ein Server, eine VM oder ein Raspberry Pi.

1. Container bauen und starten. Drei Befehle, fertig:

1git clone https://github.com/uiff/ssh-app.git
2cd ssh-app
3docker compose up -d --build

2. Im Browser öffnen. https://<adresse-des-rechners>:8443 aufrufen. Keyway erzeugt beim ersten Start ein eigenes Zertifikat, der Browser warnt deshalb einmal — das ist erwartet. Den Fingerabdruck zum Vergleichen zeigt docker logs ssh-app.

3. Sofort einrichten. Benutzername und Passwort festlegen (mindestens 10 Zeichen). Die App zeigt danach einmal den Sicherheitsschlüssel an: kopieren und getrennt aufbewahren, zum Beispiel im Passwort-Manager. Mit ihm setzt du ein vergessenes Passwort zurück und spielst Backups ein — ohne ihn ist ein Backup nicht lesbar.

Wichtig: Solange die Ersteinrichtung nicht erledigt ist, kann jeder, der die Adresse erreicht, das Konto anlegen. Also: erst einrichten, dann den Port für andere freigeben. Und grundsätzlich gilt — Keyway ist für das eigene Netz gedacht, nicht für das offene Internet.

4. Ersten Host anlegen. Gerätetyp wählen, Adresse eintragen, verbinden. Das Adressfeld versteht auch benutzer@host:port oder ssh -p 2222 benutzer@host und füllt die Felder selbst aus.

Aktualisieren. Erst ein Backup herunterladen (Einstellungen, Backup), dann:

1git pull
2docker compose up -d --build

Hosts, Zugänge und die Anmeldung bleiben dabei erhalten. Für den Betrieb hinter einem Reverse-Proxy (nginx, Caddy, Traefik) mit richtigem Zertifikat steht die Konfiguration in der README auf GitHub.

Ehrlich bleiben: die Grenzen

Keyway ist ein SSH-Gateway: Der Server baut die Verbindungen auf, eine Ende-zu-Ende-Verschlüsselung bis in den Browser ist bei diesem Prinzip nicht möglich — deshalb gehört die App auf vertrauenswürdige, eigene Hardware. Der VNC-Modus «Direkt» für Geräte ohne SSH (etwa manche HMI-Panels) ist unverschlüsselt und nur fürs vertrauenswürdige Netz gedacht; der empfohlene Weg über den SSH-Tunnel hat dieses Problem nicht.

Fazit

Seit Keyway läuft, ist mein SSH-Alltag geräteunabhängig: kurz vom Telefon auf das Gateway schauen, am Tablet ein Log prüfen, am Rechner die volle Arbeitsumgebung — immer dieselben Hosts, dieselben Zugänge, dieselben Sitzungen. Wenn dir das bekannt vorkommt: Der Code ist frei, probier Keyway aus und sag mir auf GitHub, was dir fehlt. Und falls du mit Docker noch nicht warm bist: Docker einfach erklärt im Wissens-Hub ist der sanfte Einstieg.

// Teilen

Hat dir dieser Beitrag geholfen?

Anonym, ohne Konto — ein Klick genügt.

// Teste dich

Frage 1 von 3

Wie zeigt Keyway den Bildschirm eines Geräts an, ohne dass im Netz ein VNC-Port offen sein muss?

// Weitere Beiträge