Ich möchte in der Lage sein, jedes Mal, wenn ich mich bei diesem Host anmelde, automatisch einen Befehl auf einem Remote-Host auszuführen, jedoch innerhalb der aktuellen interaktiven SSH-Sitzung.
Etwas wie
ssh user@remotehost [run do.sh]
Wo werden do.sh
ein paar Housekeeping-Aufgaben ausgeführt und dann eine screen
Sitzung erneut verbunden (derzeit werde ich do.sh
manuell ausgeführt, nachdem ich mich beim Host angemeldet habe).
Ich möchte es nicht hinzufügen, .bashrc
da ich mich von anderen Computern aus bei diesem Host anmelde und nicht do.sh
ausführen möchte , wenn ich mich von dort aus anmelde. Daher muss es optional sein.
bash
shell
command-line
ssh
Jim Farkas
quelle
quelle
ssh user@remotehost /path/to/do.sh
? Wenn es funktioniert, können Sie es sogar in .ssh / config oder Ihrer persönlichen .bashrcAntworten:
Sie könnten so etwas versuchen:
wie hier vorgeschlagen: /server/167416/change-directory-automatically-on-ssh-login
Oder Sie können versuchen, die Option 'LocalCommand' in sshd_conf (oder ~ / .ssh / config) zu verwenden, wie in der offiziellen Manpage beschrieben: http://unixhelp.ed.ac.uk/CGI/man-cgi?ssh+1
quelle
Ein Teil des Puzzles: Unter der Annahme von OpenSSH setzt der
ssh
Client die folgende Umgebungsvariable:Mithilfe dieser Informationen können Sie also herausfinden, woher Ihre Verbindung stammt .
quelle