
Erweiterter SSH-Client mit TUI — Verbindungen, Schlüssel und Sitzungen verwalten
Ein SSH-Arbeitsbereich mit persistenten Sitzungen und Live-Health-Dashboards.
Halte Remote-Shells über Verbindungsabbrüche hinweg am Laufen, wechsle mit Tasten oder Maus zwischen Hosts und prüfe die Systemgesundheit, ohne dein Terminal zu verlassen. ESSH verwendet OpenSSH für Verbindungen und tmux, um deine Arbeit am Leben zu halten.
Sieh dir die 42-sekündige Demo an · Lade die Browser-Wiedergabe herunter
Untersuche Datenträger mit df und lsblk, finde beschäftigte Prozesse mit ps,
messe die Systemaktivität mit vmstat und prüfe Sockets und Schnittstellen mit ss und ip.
Die Demo zeigt Terminal-Theme-Wechsel, Seiten-, Halb- und Voll-Health-Ansichten,
Sitzungswechsel, Hilfe
und eine abgebrochene Verbindung, die dieselbe Remote-Shell wiederherstellt.
Lade ein Binary für Linux oder macOS, auf x86_64 oder ARM64, von
Releases herunter. Entpacke das Archiv
und lege essh irgendwo in deinen PATH.
Du benötigst tmux 3.3+ und OpenSSH lokal sowie tmux auf jedem Remote-Host. Detaillierte Health-Metriken sind für Linux-Hosts verfügbar.
Oder baue aus dem Quellcode mit Rust:
git clone https://github.com/matthart1983/essh.git
cd essh
cargo build --release
./target/release/essh
ESSH liest Hosts aus ~/.ssh/config, seiner eigenen Konfiguration und seinem Host-Cache.
Zum Beispiel:
Host web-01
HostName 192.168.1.20
User deploy
IdentityFile ~/.ssh/id_ed25519
Führe essh aus, wähle einen Host und drücke Enter. Verwende /, um Hosts zu filtern, und
Esc, um den Filter zu löschen. Drücke a, um einen Host hinzuzufügen, oder e, um einen zu bearbeiten.
OpenSSH übernimmt Authentifizierung und Host-Key-Prüfung.
| Taste | Aktion |
|---|---|
| F1 | Hilfe öffnen oder schließen |
| F2 | Terminal → Side Health → Half Health → Full Health → Terminal durchschalten |
| F3 | Sitzungen öffnen; wähle eine Sitzung oder drücke n, um eine weitere zu starten |
| F4 | Zum Hauptmenü zurückkehren, während Sitzungen weiterlaufen |
| F5 / F6 | Zur vorherigen / nächsten Sitzung wechseln |
| h bei Hosts | Health für den ausgewählten Host öffnen |
| r nach einem Verbindungsabbruch | Neu verbinden |
| q bei Hosts | ESSH verlassen, während Remote-Arbeit weiterläuft |
Klicke auf Sitzungs-Tabs und Navigationssteuerelemente, um Ansichten zu wechseln. Klicke auf eine Zeile, um sie auszuwählen; Doppelklick zum Verbinden oder Wechseln. Verwende das Mausrad zum Scrollen, klicke auf Panes, um sie zu fokussieren, und ziehe Trennlinien, um sie zu vergrößern oder zu verkleinern.
Wenn deine Tastatur die Funktionsreihe für Helligkeit oder Lautstärke verwendet, halte Fn gedrückt, während du eine F-Taste drückst, oder aktiviere Standard-Funktionstasten in deinen Tastatureinstellungen. Die Navigationssteuerelemente sind ebenfalls anklickbar, und F1 listet die verfügbaren Tasten auf.
Remote-Sitzungen starten die konfigurierte Login-Shell des Remote-Kontos und laden dessen normale Startdateien—zsh, bash, fish oder welche Shell dieses Konto auch verwendet. Dein Prompt, Aliase und Shell-Tastenbindungen stammen von diesem Remote-Konto. Bestehende Shells behalten ihren laufenden Zustand, wenn du dich neu verbindest.
ESSH verwendet standardmäßig die Farben deines Terminals. Wähle ein Theme, um Vordergrund und Hintergrund der Shell zusammen mit dem Dashboard zu ändern:
essh --theme terminal
essh --theme netwatch
essh --theme light
Drücke t in Menüs oder Health-Ansichten oder Ctrl+A, dann t aus einer Shell, um die Theme-Auswahl zu öffnen. Pfeiltasten zeigen eine Vorschau jeder Palette; Enter oder ein Klick wendet sie an und speichert sie. Esc bricht ab, ohne deine Einstellung zu ändern.
Wähle Terminal, Netwatch, Light, Solarized, Dracula, Nord, Ocean oder Sky. Netwatch verwendet einen anthrazitfarbenen Hintergrund mit cyanfarbenen Überschriften und grünen Messanzeigen. Das ausgewählte Theme gilt für Menüs, Health- Ansichten, Navigationsleisten und Terminal-Panes. Wähle Terminal, um die nativen Farben deines Terminals wiederherzustellen. Programme und Prompts können weiterhin ihre eigenen Farben festlegen.
Um eine Einstellung zu speichern, setze theme = "terminal" (oder einen anderen Theme-Namen) am Anfang
von ~/.essh/config.toml. Wende sie auf einen offenen Arbeitsbereich mit
essh tmux refresh an; SSH-Sitzungen laufen weiter. Dein Terminal-Emulator steuert
die Schriftart und Schriftgröße.
Drücke F2, um durchzuschalten:
| Ansicht | Was du siehst |
|---|---|
| Terminal | Deine Shell mit den Sitzungs- und Navigationsleisten |
| Side Health | Ein schmaler Streifen mit Traffic, CPU, Speicher, Datenträger und Latenz |
| Half Health | Deine Shell und ein Dashboard, die sich das Terminal teilen |
| Full Health | Netzwerk-Traffic, CPU-Kerne, Speicher, Storage, Peers und Prozesse |
Die Dashboards verwenden dünne Messanzeigen und Live-Werte. Nicht verfügbare Werte zeigen —; getrennte Hosts sind deutlich markiert. Schmale Terminals überspringen die Side-Layouts.
Im Dashboard:
Für direkten Zugriff drücke Ctrl+A, lass es los, dann h für Full Health oder m, um Side Health → Half Health → Aus durchzuschalten.
Verwende F3, dann n, um eine weitere unabhängige Sitzung zu öffnen. Wechsle mit F5 / F6, der Sitzungsauswahl oder der Maus. F4 kehrt zur Host-Liste zurück, ohne deine Sitzungen zu beenden.
Sitzungs-IDs überleben lokale Neustarts. Beim Neuverbinden wird die Remote-Shell wieder angehängt, wenn sie noch existiert; wenn sie beendet wurde, startet ESSH eine neue Shell. Der Remote-Zustand einer getrennten Sitzung bleibt unbestätigt, bis du dich neu verbindest.