This howto page will provide instructions on how to reach services running inside a firewall from outside of the network by using the Putty SSH Client and SSH Port Tunneling.
Launch Putty. Different categories will be listed on the left side, click on Connection > SSH > Tunnels.
Under Add new forwarded port:, enter the following information:
Source port: [port on local machine]
Destination: [hostname of remote machine]:[port on remote machine]
It would look like this if I wanted to forward port 80 on the CCIS webserver to 8080 on my local machine:
Clicking Add will add it to the list of forwarded ports:
After setting up the port tunnel, select Session from the category list on the left side.
Enter login.ccs.neu.edu in the Host Name (or IP Address) field and click the Open button at the bottom right.
Select Yes if prompted with this window:
Use your CCIS username and password when prompted to login and your port tunnel will be setup.
Utilizing the Port Tunnel
Now that the port is tunneled, you can connect to it using localhost:[port forwarded] where [port forwarded] is the local port you chose earlier.
In our previous example we forwarded port 80 on http://www.ccs.neu.edu to localhost:8080. We can now open up a web browser and browse to localhost:8080 to see it:
MSSQL Over an SSH Tunnel
The steps are practically the same as tunneling any other service, except the port you will tunnel is 1433. When connecting from MSSQL Management Studio, the connection host will be 127.0.0.1,[port you forwarded] . Notice the comma between the ip and the port number, this is very important. The following screens will show the proper setup:
And there you have it, you should now be able to SSH Tunnel to any service inside a firewall.