// Privates Projekt

Keyway — SSH, VNC und Dateien im Browser

Selbst gehosteter Web-SSH-Client: Terminal, Bildschirm (VNC) und SFTP in einem Browser-Tab, am Rechner und auf dem Telefon. Ein Container, Open Source (MIT), fertige Images für amd64 und arm64.

Goxterm.jsnoVNCSSH / SFTPVNC über SSH-TunnelZwei-Faktor (TOTP)Docker (amd64 + arm64)GitHub ActionsMIT-Lizenz

Wer Server, SPS-Steuerungen und Gateways betreut, hängt an Desktop-Programmen wie MobaXterm oder dem RealVNC Viewer — und steht ohne sie da, sobald das eigene Notebook nicht greifbar ist. Keyway löst das: ein selbst gehosteter Web-SSH-Client, der Terminal, Bildschirm (VNC) und Dateiübertragung in einen Browser-Tab bringt. Entwickelt habe ich ihn für meinen eigenen Alltag — veröffentlicht ist er als Open-Source-Projekt unter MIT-Lizenz, mit fertigen Container-Images.

Was es kann

Terminal, VNC und SFTP vereint. SSH-Terminals mit Tabs, der Bildschirm von Raspberry Pis, HMI-Panels oder PCs per VNC (standardmässig durch SSH getunnelt — kein offener VNC-Port im Netz), Dateien per Ziehen und Ablegen.

Sitzungen mit Gedächtnis. Terminal-Sitzungen laufen bis zu 12 Stunden serverseitig weiter und überleben Funklöcher, Neuladen und Gerätewechsel.

Für IoT und OT gedacht. Hosts tragen Gerätetyp-Symbole von SPS über Wallbox bis Firewall; eine offline eingebaute Befehlshilfe erklärt rund 7000 Befehle, bevor sie ins Terminal gehen.

Sicherheit zuerst. Verschlüsselter Tresor (AES-256-GCM, Argon2id), optionale Zwei-Faktor-Anmeldung (TOTP), Host-Schlüssel-Prüfung, Anmeldesperre, Container ohne Shell mit nur lesbarem Dateisystem.

Auf dem Telefon wird Keyway zur App: eigene Tastenleiste, Gesten für den VNC-Bildschirm, Ablage auf dem Startbildschirm. Die Oberfläche gibt es auf Deutsch und Englisch.

Technik

Ein einziges Go-Programm in einem Container ohne Shell, Images für amd64 und arm64 (Raspberry Pi) — gebaut und veröffentlicht automatisch per GitHub Actions. Im Browser arbeiten xterm.js fürs Terminal und noVNC für den Bildschirm; die Daten liegen in einem einzigen Volume, gesichert als eine verschlüsselte Backup-Datei.

Links

Projekt-Homepage: keyway.iotueli.com

Quellcode (MIT): github.com/uiff/ssh-app

Fertige Images: hub.docker.com/r/iotuelich/keyway

Die Schritt-für-Schritt-Anleitung mit allen Details steht im Blogbeitrag — von drei Befehlen zum laufenden Container bis zur Ersteinrichtung mit Sicherheitsschlüssel.

Zum Blogbeitrag: Keyway — mein SSH-Client im Browser

Hat dir dieses Projekt gefallen?

Anonym, ohne Konto — ein Klick genügt.