This is what I do when I have a very similar problem (but mine is Linux via Linux and I use port 5901 for VNC):
First, we make it so that all connections to localhost:13389
on your laptop will go to the intermediate server (on port 3389):
laptop$ ssh -L 13389:localhost:3389 my_user@LINUX_SERVER_IP
Then, we make it so it that all connection to localhost:3389
on the intermediate server are forwarded to the PC behind the firewall (on port 3389):
my_user@LINUX_SERVER_IP$ ssh -L 3389:localhost:3389 'PRIVATE_DOMAIN\my_user'@PC_NAME
(note that this command is run inside the interactive shell on the intermediate server.)
Now, you should be able to connect to localhost:13389
and access port 3389 on the remote PC.
Debugging
Since it isn't working, there's a few things we can try. We'll do in a way to isolate where the issue is:
- On the remote PC you want to access, can you
telnet localhost 3389
to ensure it's open and ready for connections? Microsoft has a nice article on it
- If that works, can you try to execute
telnet localhost 3389
on the intermediate server to check it's forwarding correctly to the remote PC?
- Finally,
telnet localhost 13389
on your laptop, to see if it's forwarding all the way through.
As soon as you hit an error stop there and please add a comment so we figure it out.
Best Answer
You'll need to have some kind of IP method to access that mysql server remotely, using only sockets will give you access to that mysql server from the local machine.
Your best option here would be activating networking but firewalling the mysql server so it's only accessible from localhost, then once you get your tunnel working it should be fairly straightforward to connect remotely through the ssh tunnel either directly from the command line
ssh -L 3306:localhost:3306 user@server
or using .ssh/configLocalForward 3306 localhost:3306