SSH Port Forwarding

If the VPN is unavailable, or overloaded, you can utilize SSH port forwarding to access resources like autolab. These directions are for the terminal based ssh tool available in all major operating systems. You can also use tools like Putty to accomplish a similar configuration.

Create a SOCKS proxy

To create an SOCKS proxy through stu, for example, you could use the following command:

ssh -D9001 eid@stu.cs.jmu.edu

What this command is saying is to create a SOCKS proxy on the local machine at port 9001 that can be used as a SOCKS proxy. The endpoint is at stu. That is, anything that is reachable from stu itself can be reached with this proxy. Of note, you can use any port you like, just pick something that isn't in use by your machine. (On a typical desktop, most ports are going to be available. But you would want to likely pick a higher, above 1024 number so that you don't need administrative privileges.)

Configure your client to use the proxy

You now need to configure your client to use the SOCKS proxy that you created. Each client will be different but a typical use case is proxying web traffic. To do this you must configure the proxy under the proxy settings for your browser, which are often found in the network section of the browser preferences. In this example you would select the SOCKS proxy option (v5, if asked) with a host of localhost and a port of 9001. Any network traffic generated by your browser will be proxied through stu allowing you to reach internal resources.

Return to your standard configuration

You must undo any configuration changes made to the client when you're done. In this example if you fail to do this you will unable to browse the internet. You should also log out of stu and close the terminal window.