Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have two physical servers in my home network, linux (192.168.8.x) and windows server 2008 (192.168.8.y).

The linux server ist accessible from outside by ssh on a non-standard port (say 23008). How do I establish a permanent RDP tunnel through ssh on the linux box? I know that I can use putty on the outside machine, but I don't know how to set up sshd on the linux box correctly. Thanks for any hints!

share|improve this question
up vote 7 down vote accepted

Assuming your linux box is accessible from the internet at on port 23008, on an external system I would do:

external% ssh -p 23008 -L 13389:192.168.8.y:3389 username@

I'd then connect to the port-forwarded RDP system with

external% rdesktop localhost:13389

If your external box isn't a linux box, there will be equivalent commands for the tools you have; the idea is still the same: to forward external's port 13389 to 192.168.8.y's port 3389, then use external's RDP client to connect to localhost:13389.

You refer to setting up the linux box's sshd correctly, but unless you've reconfigured it, the standard sshd setup is likely to support this just fine.

share|improve this answer
You're right, I thought I have to configure sshd to tunnel specific ports. But this is all done with the client command. (ssh or putty on windows). I – elsni Dec 1 '10 at 16:19
ssh -L 3389:<ip of windows server>:3389 <ip of ssh server> -l <ssh user> -N

Assuming 3389 is the port your RDP is running on AND the ssh server has access to said port, you can then connect to as if it were the remote server.

share|improve this answer
is the ip of ssh server the internal or the external one? The external changes daily, but the server is accessible vie dyndns from outside – elsni Nov 29 '10 at 11:13
IN which case: ssh -L 3389:<ip of windows server>:3389 <dydns of ssh server> -l <ssh user> -N hostnames can be used in place of ip's assuming of course you have port 22 forwarding onto the ssh server, which on a side note can be bad, if using a different port and forwarding that on i.e. 1212 use the -p 1212 flag. – Oneiroi Nov 29 '10 at 12:25
<prdp> is rdp port on internal windows server <pssh> is port of public ssh linux server (nonstandard in my case) <ptunnel> is the port for the tunnel <ipwserver> is internal ip adress of windows server. I did a ssh -L<prdp>:<ipwserver>:<ptunnel> -l myusername -N -p <pssh> correct? – elsni Nov 30 '10 at 15:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.