SSH Clientforwaring

28/01/2010 - 17:27 von Peter Mairhofer | Report spam
Hi,

Hab grad einen totalen Knoten. Kann mir nicht vorstellen dass das nicht
möglich ist?!

Ich möchte mit einem SSH *Client* einen lokalen Port an dem
logischerweise ein Dienst rennt an den Server forwarden.

Vom Server aus möchte ich ihn dann über einen anderen SSH Tunnel (mit
-R) weiterverwenden.

-L scheint aber nur für Ports zu tun auf denen clientseitig nix hàngt.

Folgendes ist der Hintergrund: Mein Arbeitscomputer ist in einem
privaten Netzwerk ohne Portforwarding. Ich möchte trotzdem Remote
Desktop nutzen. Die Idee ist nun dass ich vom Arbeitscomputer aus eine
SSH Session zu meinem Server aufbaue und den Port 3389 des
Arbeitscomputers z.B. auf 127.0.0.1:33890 am Server umleite.

Nun logge ich mich mit einem Client zu Hause am Server an:

ssh server -R 127.0.0.1:8888:127.0.0.1:33890

Und starte die Remote Desktop Session dann auf 127.0.0.1:8888

Am Arbeitsrechner starte ich den SSH Client so wie:

while true;
ssh -i public_key user@server -L 127.0.0.1:3389:127.0.0.1:33890
done

falls es zu einem Verbindungsabbruch kommen sollte.

Wieso geht das nicht?

LG
Peter
 

Lesen sie die antworten

#1 Juergen P. Meier
28/01/2010 - 18:58 | Warnen spam
Peter Mairhofer :
Folgendes ist der Hintergrund: Mein Arbeitscomputer ist in einem
privaten Netzwerk ohne Portforwarding. Ich möchte trotzdem Remote
Desktop nutzen. Die Idee ist nun dass ich vom Arbeitscomputer aus eine
SSH Session zu meinem Server aufbaue und den Port 3389 des
Arbeitscomputers z.B. auf 127.0.0.1:33890 am Server umleite.

Wieso geht das nicht?



Mir dueenkt du verwechselst die Richtungen von Client -> Server.

Auf welchem REchner laeuft auf welchem Port der RDP-SErver, auf
welchem Rechner soll dein RDP-Client laufen?

Beispiel: Rechner A = RDP-Client, Rechner B = mittelsmann, Rechner C RDP-Server

Login von A nach B nach C:

: ssh -L 3389:localhost:8888 B
:
: ssh -L 8888:localhost:3389 C
: while echo foo; sleep 30; done
(haelt die SSH offen)

Dann auf Rechner A in einem anderen Terminal:

: rdp-client localhost:3389

Andere Richtung (also Login von C nach B nach A:, wobei den RDP-client
dann nur der Typ der lokal vor A sitzt nutzen kann ;)

: ssh -R 8888:localhost:3389 B
: ssh -R 3389:localhost:8888 A
: rdp-client localhost:3389

Juergen
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)

Ähnliche fragen