CH-J Server ManagerSerververwaltung über SSH
Menü
Alle Anleitungen und Artikel →

Mehrere SSH-Server gleichzeitig verwalten

Behalten Sie mit SSH-Aliasnamen und nebeneinander angeordneten Terminals den Überblick über mehrere Server und vermeiden Sie Befehle auf dem falschen Server.

Jedem Server einen eindeutigen Namen geben

Ein einheitliches Alias-Schema spart Zeit und verringert Fehler. Hinterlegen Sie in ~/.ssh/config Adresse, Benutzer, Port und Schlüssel jedes Servers unter einem Namen. Nehmen Sie Rolle und Umgebung in den Namen auf, damit Produktionssysteme auf einen Blick erkennbar sind. Optionen, die Sie für einen bestimmten Host nicht setzen, werden aus dem Block Host * übernommen.

Host prod-web-1
    HostName 203.0.113.10
    User admin
    IdentityFile ~/.ssh/id_ed25519_prod
    IdentitiesOnly yes

Host test-web-1
    HostName 203.0.113.20
    User admin

Den falschen Server vermeiden

Bei der Arbeit auf mehreren Servern landet ein Befehl leicht im falschen Fenster. Zeigen Sie den Hostnamen im Prompt an, verwenden Sie für Produktionssysteme eine andere Prompt-Farbe und prüfen Sie vor jedem destruktiven Schritt, wo Sie sich befinden. Heben Sie die gefährlichsten Schritte für einen Moment auf, in dem nur ein Terminal geöffnet ist.

hostname -f; whoami; pwd

Lange Aufgaben weiterlaufen lassen

Ein Verbindungsabbruch beendet normalerweise die Shell und die darin laufenden Befehle. Starten Sie lange Aufgaben auf dem Server in tmux oder screen, damit sie weiterlaufen und Sie sich wieder damit verbinden können. Client-Keepalive erkennt eine ausgefallene Verbindung früher, hält die Aufgabe aber nicht selbst am Laufen.

tmux new -s upgrade
tmux attach -t upgrade

Wissen, welche Server antworten

Prüfen Sie vor der Arbeit auf mehreren Servern, ob deren SSH-Ports antworten. Ein geschlossener Port bedeutet nicht immer, dass ein Server ausgefallen ist: Der Dienst könnte beendet sein oder eine Firewall Ihr Netzwerk blockieren.

for host in prod-web-1 test-web-1; do
    ssh -o ConnectTimeout=5 "$host" 'hostname; uptime' || echo "$host: no connection"
done

Mehrere Server in CH-J Server Manager

Serverprofile werden in einem lokalen verschlüsselten Tresor gespeichert, und mehrere SSH-Sitzungen können gleichzeitig geöffnet sein. In Alpha 0.1.1 lassen sich zwei Terminals nebeneinander oder übereinander anordnen, auf einem oder zwei Servern. Das Ausblenden eines Terminals beendet seine Sitzung nicht. Module verwenden eine einzelne Verbindung automatisch und fragen nach, wenn mehrere geöffnet sind. Ein Modul wechselt somit nie selbstständig auf einen anderen Server. Das Sperren des Tresors trennt SSH-Sitzungen. Beenden Sie laufende Arbeiten daher vorher oder lassen Sie sie in tmux laufen.

Erreichbarkeit auf einen Blick

In Alpha 0.1.1 prüft die Erreichbarkeitsüberwachung gespeicherte Server im Hintergrund über eine TCP-Verbindung zum SSH-Port, standardmäßig alle 12 Sekunden und ohne Anmeldung. Offline bedeutet dann, dass der SSH-Port von Ihrem Netzwerk aus nicht erreichbar ist; der Server selbst kann weiterhin laufen.

Ausführliche Dokumentation

OpenSSH: ssh_config →

Biometrisches Entsperren und Sicherheit →