ssh connection reuse in der Praxis

02/05/2009 - 23:56 von Marc Haber | Report spam
Hallo,

gegeben sei die Aufgabe, auf einem entfernten Rechner eine Handvoll
Kommandos auszuführen. Hierfür gibt's mindestens die folgenden
Lösungen:

(1)
ssh remotehost bash -c "foo; bar; baz"
Quotingalbtraum, im Script auf dem lokalen Host schlecht lesbar und
unhandlich

(2)
ssh remotehost foo
ssh remotehost bar
ssh remotehost baz
Erzeugt drei login/logout-Eintragspaare im Log des entfernen Hosts.
Kein State (z.B. Environmentvariablen) zwischen den Kommandos
transportierbar

(3)
cat here-document > tempfile
scp tempfile remotehost:
ssh remotehost ./tempfile
Erzeugt nur zwei login/logout-Eintragspaare im log des entfernten
hosts. Braucht ein tempfile sowohl lokal als auch remote

Varianten (2) und (3) dachte ich, mit den Eintràgen
|Host *
| ControlPath ~/.ssh/master-%r@%h:%p
| ControlMaster auto
in der ~/.ssh/config könnte man das wenigstens etwas beschleunigen,
aber das tut auch nicht, weil das nur hilft, wenn der Kontrollmaster
spielende ssh-Prozess beim zweiten Aufruf noch lebt. Wie erreicht man
das am geschicktesten? ssh -f remotehost sleep 30 vorweg?

Gibt es eine Methode, die die Aufgabe erledigt, und nur ein paar von
login/logout-Eintràgen im Log des entfernten Hosts erzeugt?

Grüße
Marc

Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834
 

Lesen sie die antworten

#1 Christian Garbs
03/05/2009 - 10:57 | Warnen spam
Mahlzeit!

Marc Haber <mh+ wrote:

(1)
ssh remotehost bash -c "foo; bar; baz"
Quotingalbtraum, im Script auf dem lokalen Host schlecht lesbar und
unhandlich

(2)
ssh remotehost foo
ssh remotehost bar
ssh remotehost baz
Erzeugt drei login/logout-Eintragspaare im Log des entfernen Hosts.
Kein State (z.B. Environmentvariablen) zwischen den Kommandos
transportierbar

(3)
cat here-document > tempfile
scp tempfile remotehost:
ssh remotehost ./tempfile
Erzeugt nur zwei login/logout-Eintragspaare im log des entfernten
hosts. Braucht ein tempfile sowohl lokal als auch remote



Wie wàre es mit

(4)
ssh remotehost bash < skriptdatei

Braucht nur ein Login, keine Quotingorgien und Environmentvariablen
halten sich auch.

Gruß
Christian
Christian.Garbs.http://www.cgarbs.de
It has just been discovered that research causes cancer in rats.

Ähnliche fragen