Automatisch ein screen nach einem SSH-Login starten
Wenn ich mich auf einem Server per SSH einlogge, starte ich in der Regel direkt die Software screen oder tmux. Dies sind so genannte Multiplexer. Sie erlauben es mir mehrere “Fenster” zu öffnen und auch wenn die Verbindung weg ist, werden die Befehle weiter abgearbeitet.
Im Normalfall gebe ich also zuerst ssh server ein und wenn ich dann auf dem Server eingeloggt bin, gebe ich screen -R oder tmux a ein. Viel schöner wäre es nun, wenn der letzte Schritt automatisiert geschehen würde. Man mag es kaum glauben, aber OpenSSH ist dazu in der Lage.
Hier hilft eine kleine Einstellung in der Konfigurationsdatei. Diese liegt normalerweise im Verzeichnis ~/.ssh
und heißt config
. Ein Eintrag könnte so aussehen:
Host server HostName server.example.com IdentityFile ~/.ssh/mein-geheimer-schluessel User jens
Mit der Eingabe ssh server verbindet sich SSH zu dem Rechner unter der Adresse server.example.com
, nutzt den angegebenen Schlüssel und loggt sich als Nutzer jens ein. Mit den Optionen RemoteCommand und RequestTTY kann ich nun den gewünschten Effekt erzielen:
Host server HostName server.example.com IdentityFile ~/.ssh/mein-geheimer-schluessel User jens RemoteCommand screen -RD #oder tmux a RequestTTY yes
Nun führt OpenSSH den gewünschten Befehl aus und ich lande sofort in meiner gewünschten Sitzung.
Dies ist natürlich nur eine Kleinigkeit. Aber es nimmt mir einen kleinen Schritt ab und fühlt sich so bequemer an. Vielleicht probiert ihr es auch mal aus und erzählt von euren Erfahrungen.
Comments
Display comments as Linear | Threaded
Dirk Deimeke on :
“tmux a -t SESSION” - vorher “tmux new -s SESSION”
(Screen benutze ich schon lange nicht mehr).
morphium on :
Jens Kubieziel on :
Du müsstest dann sowas wie