Wie kriege ich rsh (oder Ersatz) über einen SSH-Tunnel ans Laufen?

EkMEK

EkMEK

Grünschnabel
Hi!

Ich möchte in einem gesicherten Netzwerk eine Ablaufsteuerung implementieren. Bisher loggt sich der Kontroll-Server per SSH mit Zertifikat bei den Clients ein, was allerdings schon mal ein paar Sekunden dauern kann. Also Lösung fiel mir ein, einmal einen SSH-Tunnel aufzubauen und dann einzelne Befehle durch den Tunnel mit rsh (ohne Verschlüsselung etc, macht ja der Tunnel ;) ) auszuführen.
Leider kommen die Verbindungen im Client von ständig wechselnden non-priviledged Ports, so dass rsh die Verbindungen dropped (Connection from localhost on illegal port 45678 ) und ich auch kein Mapping auf einen priviledged Port mit iptables anlegen kann.
Hat jemand eine Idee, was ich statt rsh verwenden könnte bzw. hat eine Idee, wie ich das priviledged Port Problem übergehen könnte? :)

Danke und Grüße!

Ek
 
Hi!
Ich möchte in einem gesicherten Netzwerk eine Ablaufsteuerung implementieren. Bisher loggt sich der Kontroll-Server per SSH mit Zertifikat bei den Clients ein, was allerdings schon mal ein paar Sekunden dauern kann.

Nur eine Idee, denn ich habe keine Ahnung.

In einen Gym. habe ich folgendes Szenario: (alles unter CentOS)
Die Client (60 + 1 Master-Client) bekommen den Auftrag, vor dem erscheinen eines Login-Fenster, die Aufgabe den Server zu besuchen und die dort liegenden Aufträge abzuarbeiten.
Größere Aufträge (z.B. Openoffice-Update) laufen unter nice -n 19 im Hintergrund, oder am WE, wenn sich alle PCs autom. einschalten.

Was machst Du wenn Deine Clients Offline sind? Jedes mal auf das Timeout warten?
Evtl. habe ich Deine Frage/Hintergrundinfo auch nicht verstanden?
 
Warum lässt du die SSH Verbindung nicht stehen?
 
Morgen,

daraus werde ich irgendwie nicht schlau.
was allerdings schon mal ein paar Sekunden dauern kann.
dauert der SSH-Login oder die laufenden Skripte.

Falls es der SSH-Login ist, würde ich im ersten moment auf Probleme mit der Reversesauflösung des Kontrol-Servers denken.

mfg
HeadCrash
 
Warum startest du das Programm nicht direkt via ssh? (commando am ende des ssh befehls)

man ssh

"Warum einfach wenns kompliziert auch geht" ;-)
 
Danke für die Tipps, ich bin jetzt auf SSH-Bordmittel umgestiegen. Mit "ControlMaster auto" wird beim Verbinden zu einem Host ein Socket geöffnet, der bestehen bleibt, solange diese Verbindung besteht und genutzt werden kann, um neue Verbindungen zu demselben Host aufzubauen, ohne Authentisierung und Schlüssel-Aushandeln.
Letzteres hat bei meinem bisherigen Setup unter Last (Client und Ziel nahe 100%) schon mal ein paar Sekunden gedauert, was mir dann doch etwas langsam war. Mit Control Socket (ohne Last) sieht es besser aus:
Ohne Socket oder Last:
Code:
# time ssh target "echo Hallo"
Hallo

real    0m0.082s
user    0m0.016s
sys     0m0.004s

Mit Socket ohne Last:
Code:
# time ssh target "echo Hallo"
Hallo

real    0m0.007s
user    0m0.004s
sys     0m0.000s
Ich muss jetzt ein bisschen Basteln, damit in meinem Experiment auch immer schön ein Control Socket außerhalb der Last-Phasen aufgebaut wird, aber das sieht schon nach einer deutlichen Verbesserung aus :)
 
Kluge Lösung. Und innovativ, ich denke die Funktion kennen nicht so viele..
 
Zurück
Oben