SSHM - SSH Managment TUI
Inhaltsverzeichnis
Das Problem mit vielen Servern
Bei mir stehen zu Hause zwei Server und zwei Backup-Server. Offsite kommen noch zwei weitere dazu, um die ich mich kümmere. Und dann sind da noch zwei VPS bei einem Hoster, die ich gemietet habe. Dann habe ich noch jede Menge Dev VMs und LXCs in Proxmox, das wird schnell unübersichtlich.
Lange Zeit war mein Ansatz: einfach alles ordentlich in ~/.ssh/config eintragen und dann ssh servername tippen. Das funktioniert, aber so richtig schön ist es nicht. Du musst dir alle Hostnamen merken, du hast keinen Überblick, welche Server gerade erreichbar sind, und wenn du mal schnell auf einen bestimmten Server willst, tippst du erst halb den Namen und hoffst, dass die Tab-Completion einspringt.
Ich bin grundsätzlich ein Fan von Terminal User Interfaces. Ich verstehe ehrlich gesagt nicht ganz, woher dieser Anti-Terminal-Hype kommt, dass alles unbedingt klicki-bunti sein muss. Das Terminal ist aufgeräumt, schnell und übersichtlich, wenn man es richtig nutzt. Und genau das macht ein gutes TUI-Tool aus.
SSHM entdeckt
Auf GitHub bin ich auf SSHM gestoßen. Das Tool ist in Go geschrieben, bringt ein sauberes TUI mit und das Beste daran: es liest direkt aus deiner bestehenden ~/.ssh/config. Du musst nichts neu einrichten oder migrieren. Einfach sshm tippen, und alle deine konfigurierten Hosts tauchen in einer übersichtlichen Liste auf.
So siehst du auf einen Blick, welche Server online sind, welche nicht erreichbar sind, und kannst mit einem Tastendruck direkt verbinden. Das ist genau das, was ich gesucht habe.

Mit nur einem Klick kannst du alle Server anpingen und siehst wer Online ist.

Installation
Die Installation geht wirklich schnell. Für Linux reicht ein einziger Befehl:
curl -sSL https://raw.githubusercontent.com/Gu1llaum-3/sshm/main/install/unix.sh | bash
Wer lieber manuell installiert, kann sich das Binary direkt von den Releases herunterladen:
wget https://github.com/Gu1llaum-3/sshm/releases/latest/download/sshm-linux-amd64.tar.gz
tar -xzf sshm-linux-amd64.tar.gz
sudo mv sshm-linux-amd64 /usr/local/bin/sshm
Für macOS gibt es auch Homebrew:
brew install Gu1llaum-3/sshm/sshm
Wie es funktioniert
Nach der Installation einfach sshm ohne Argumente aufrufen:
sshm
Das öffnet das TUI und listet alle Hosts aus deiner SSH Config auf. Navigiert wird mit den Pfeiltasten oder vim-style mit j und k. Mit Enter verbindest du dich direkt. Die Statusanzeige zeigt live, welche Server gerade erreichbar sind und welche nicht.
Die wichtigsten Tasten im Überblick:
Enter- Verbindung zum ausgewählten Host aufbauena- Neuen Host hinzufügene- Bestehenden Host bearbeitend- Host löschen/- Suche und Filterungs- Sortierung wechseln (Name oder letzter Login)f- Port Forwarding einrichtenq- Beenden
Hosts lassen sich auch ohne TUI direkt ansprechen:
sshm mein-server
Das funktioniert genauso wie ssh mein-server, loggt den Zeitstempel aber mit, sodass du im TUI siehst, wann du zuletzt auf welchem Server warst.
Hosts direkt hinzufügen
Neue Hosts kannst du über das TUI hinzufügen, oder direkt über die Kommandozeile:
sshm add
Das öffnet ein interaktives Formular, das dich durch alle relevanten Felder führt: Hostname, User, Port, Identity File, ProxyJump und optional weitere SSH-Optionen. Am Ende landet alles sauber in deiner ~/.ssh/config und bleibt damit kompatibel mit allen anderen SSH-Tools.