I asked previously how to configure 2 SSH tunnels using an intermediary server in order to run Remote Desktop through them and I managed to make it work. Now, I'm trying to do the same, using the same machines, but in reverse order. Here's the setup:
- Windows 7 PC in a private network, sitting behind a firewall.
- Public access Linux server, which has access to the PC.
- Windows 7 laptop, at home, on which I wish to do Remote Desktop from the PC.
I use Putty on the laptop to create a reverse tunnel from it to the Linux server:
I use Putty on the PC to create a regular tunnel from it to the Linux server:
I SSH to the Linux sever and I run telnet localhost 60666 and it seems to produce the expected output, as described in the debugging tips that I received here.
I try to connect Remote Desktop from the PC to the laptop:
localhost:60666. It asks for my username and password, I click OK and it locks my current session on the laptop (so I see the welcome screen on the laptop instead of my desktop), it shows the "Welcome" message in the Remote Desktop screen and then it just goes black. It doesn't disconnect, it doesn't provide any error and I'm not able to perform any actions in the Remote Desktop screen. I tried the same setup with a Windows XP laptop and I'm experiencing the same symptoms. I also tried to use different ports than 60666, but nothing changed. Does anybody have any idea what I'm doing wrong?
Update: As pointed out by @jwinders, I'm not able to run
telnet PC 3389 from the Linux server directly. Since Windows Firewall has a rule to allow all connections on port 3389, I have no idea what is blocking it. Fortunately, I'm able to create a SSH tunnel from the Linux machine to the PC
ssh 3389:localhost:3389 'domain\user'@PC.