Aufrufen eines lokalen Befehls bei jeder erfolgreichen Verbindung bei Verwendung von ssh-Multiplexing?
Ich möchte automatisch einen Befehl ausführen, wenn ich mich per SSH erfolgreich mit einem Remote-Host verbinde.
Ich kann dies für die erste Verbindung zu jedem Host mit den Einträgen PermitLocalCommand yes
und tun, ähnlich wie in dieser Antwort, aber ich verwende auch eine ziemlich aggressive ssh-Multiplexing-Konfiguration (etwa die folgende):LocalCommand ~/bin/ssh-notify-me
~/.ssh/config
Host * PermitLocalCommand yes ServerAliveCountMax 2 ServerAliveInterval 5 ControlPath ~/.ssh/mux/%r@%h:%p ControlMaster auto ControlPersist 1h
Bei diesem Setup wird LocalCommand nur für die erste Verbindung ausgeführt, bevor eine Control Master / Mux-Buchse vorhanden ist. Danach stelle ich eine Verbindung her, aber der Befehl wird nicht ausgeführt.
Gibt es eine Möglichkeit (ohne das Multiplexen zu deaktivieren), um sicherzustellen, dass LocalCommand oder ein Äquivalent bei jeder neuen interaktiven Sitzung auftritt?
Das Umschließen von ssh
Binärdateien in eine Shell-Funktion oder ein Skript scheint nicht zu funktionieren, da es nicht wissen kann, ob die Verbindung erfolgreich war, bevor sie abgeschlossen ist.
0 Antworten auf die Frage
Verwandte Probleme
-
6
Welche zsh-Funktionen verwenden Sie?
-
5
Transparente Eingabeaufforderung in Vista?
-
4
Verwenden Sie den Windows-Aktenkoffer von der Befehlszeile aus
-
4
Warum sind einige Befehle nicht vorhanden?
-
11
Gibt es eine einfache Möglichkeit, MP3-Dateien zu teilen?
-
2
Wie kann ich OSX Terminal.app dazu bringen, den Vollbildmodus zu öffnen und nicht zu kaskadieren?
-
4
Remote-Ordner unter Linux synchronisieren
-
6
Vollbild-Vista-Eingabeaufforderung oder Ersatz
-
6
Guter PowerShell-Leitfaden, der durch fortgeschrittene Verwendung Einstieg leistet
-
10
Wie richte ich SSH ein, damit ich mein Passwort nicht eingeben muss?