Rdesktop via SSH Portforwarding door 2 Linux machines

Pagina: 1
Acties:

  • pennywiser
  • Registratie: November 2002
  • Laatst online: 05-03 21:48
Ik vroeg me af of er een oplossing bestaat om via Putty in 1 keer poort 3389 naar je toe te halen op een Win Rdesktop machine waar 2 Linux machines tussen staan.

Dus

WinClient <-> Linux1 <-> Linux2 <-> Rdesktop server

Via ssh -L kan je steeds per 1 tunnel tegelijk aanleggen. Tunnelen via Putty gaat natuurlijk ook, maar je kan volgens mij niet meteen vanuit de WinClient een tunnel van Linux1 over de Linux2 naar de Rdesktop server aanleggen. Of heb ik dat mis?

ik wil dus met de Putty sessie meteen dat de tunnel over de 2 Linux machines wordt geopend naar de Rdesktop destination.

Ik heb er veel over gezocht, maar kwam er niet helemaal uit.

  • sam.vimes
  • Registratie: Januari 2007
  • Laatst online: 20:55
Je moet twee maal tunnelen, met 2 ssh-commando's waarvan de eerste eventueel door putty vervangen kan worden.
winclient => linux1 => linux2 => rdserver


Ongetest, op winclient:
ssh -L3389:localhost:3389 linux1 "ssh -N -L3389:rdserver:3389 linux2"

Het eerste deel van het commando
ssh -L3389:localhost:3389 linux1 "..."

zet een tunnel op van poort 3389 op winclient naar poort 3389 van localhost ten opzichte van linux1, zodat je door de tunnel op linux1 uitkomt. Op die machine wordt vervolgens met ssh de tweede tunnel opgezet:
... "ssh -N -L3389:rdserver:3389 linux2"

Dit zet een tunnel op van de lokale machine linux1, poort 3389 via de machine linux2 naar poort 3389 van rdserver. Op linux2 wordt geen commando uitgevoerd (-N).

Eventueel kan het eerste ssh-commando (dat op winclient wordt uitgevoerd) worden vervangen door plink, de command-line connection utility van putty.

De hele pijplijn zorgt ervoor dat connecties op poort 3389 van winclient terecht komen bij poort 3389 van rdserver.


Het kan natuurlijk simpeler, bedenk ik mij. Op winclient geef je het commando:
ssh linux1 "ssh -N -L3389:rdserver:3389 linux2"

Dit zet een tunnel op die poort 3389 van linux1 via linux2 doorzet naar poort 3389 van rdserver. Nu kun je met je rdesktop client connecten naar poort 3389 van linux1. De verbinding tussen winclient en linux1 is nu niet getunneld en dus ook niet beveiligd (tenzij de rdesktop client zelf al zorgt voor encryptie).

[ Voor 18% gewijzigd door sam.vimes op 24-04-2009 09:01 . Reden: TIMTOWTDI ]