wesser-h
Goto Top

SSH Tunnel/Proxy ganz konkret

Hallo Leute,
ich habe bereits lange gegoogelt und für meinen Anwendungsfall wirklich kein Beispiel gefunden, daher stelle ich Euch hier ganz konkret eine Frage, also bitte kein RTFM o.ä.

Ich habe hier im Netz eine Applikation, welche versucht auf dem Port xxxx eine Verbindung zu einem externen Host (A) aufzubauen. Mein Client (B) hat die Möglichkeit, via SSH einen externen Server (C) zu kontaktieren, auf welchem ich auch root-Rechte habe.

Ich dachte mir nun, dass ich einen SSH-Tunnel zu C aufbaue, indem B clientseitig auf dem gesperrten Port hört und dies an C weiterleitet. Dieser soll wiederum die Daten an A über den Port xxxx weiterleiten und somit als Proxy fungieren.

IMHO brauche ich zwei statische Verbindungen: Eine von B zu C und eine von C zu A. Da ich auf A keinerlei Administrations-/Einloggrechte habe, bin ich jetzt etwas ratlos, wie ich die Daten von C zu A und zurück bekomme.

Kann mir jemand hier weiterhelfen?

Danke schonmal!

Content-ID: 28497

Url: https://administrator.de/contentid/28497

Ausgedruckt am: 26.11.2024 um 01:11 Uhr

27119
27119 20.03.2006 um 12:04:29 Uhr
Goto Top
Beagle
Beagle 20.03.2006 um 12:04:54 Uhr
Goto Top
Ich muss jetzt erstmal nachfragen ..du möchtest eigentlich von B nach A kommen.
1. Ist auf A ist der Port xxxx (von aussen) gesperrt?
(Ich nehme mal an das A direkt erreichbar ist und nicht hinter C oder einem Router hängt.)
2. Und/oder kannst du von B keine Verbindung über Port xxxx nach aussen aufbauen?

Wenn der Port auf A nicht offen ist bzw. du keine SSH/VPN Verbindung (z.B. von C zu A) aufbauen kannst, dann hast du in deinem Szenario IMHO keine Chance.
wesser-h
wesser-h 20.03.2006 um 12:21:06 Uhr
Goto Top
Wenn der Port auf A nicht offen ist bzw. du
keine SSH/VPN Verbindung (z.B. von C zu A)
aufbauen kannst, dann hast du in deinem
Szenario IMHO keine Chance.

Also ich kann via SSH ohne weiteres das Portforwarding von B nach C aktivieren bzw. einen Tunnel initiieren. Von C nach A bekomme ich keinen SSH-Tunnel aufgebaut, da mir die Einlogrechte auf A fehlen. Das sollte aber nicht das Problem darstellen, da dier Port xxxx von A von dem Server C normal kontaktiert werden kann und ich hier keinen SSH-Tunnel benötige. Mein Problem besteht also darin, dass der Server C alle Anfragen, die ihm von dem Tunnel B<->C erreichen ganz normal an den Zielport xxxx von A weiterreicht bzw. die Antworten durch den SSH-Tunnel an den Client B forwarded.
27119
27119 20.03.2006 um 12:36:16 Uhr
Goto Top
Beagle
Beagle 20.03.2006 um 12:55:57 Uhr
Goto Top
Hmm ...hab ichs immer noch nicht kappiert oder ist das die Lösung?

Ich hab das eben mal mit Putty getestet.
Ich (Host B) mach eine SSH Verbindung zu Host C auf
und sage als Tunnel
L40080 www.heise.de:80 (Host A)

Wenn ich jetzt ne Verbindung auf http://localhost:40080 mache bekomm ich die Heise Seite zu sehn. Ist es das oder versteh ich es nicht ?!? ^_^;
Allerdings ist jetzt nur B <-> C verschlüsselt.

Damit habe ich eine Verbindung von B -> C -> A
wesser-h
wesser-h 20.03.2006 um 15:59:37 Uhr
Goto Top
Mmh...ich teste das mal aus und gebe Bescheid. Ich glaube nämlich, dass ich in meinem Köpfchen einen Denkfehler hab...
wesser-h
wesser-h 22.03.2006 um 13:56:25 Uhr
Goto Top
@Beagle:

Hatte tatsächlich einen groben Denkfehler. Mit

"ssh -gL xxxx:Host_C:xxxx mein_Login@mein_Server"

funktioniert es natürlich einwandfrei.

Vielen Dank!