How do you access Location 2 from Location 1, when Location 2 has a shared Internet connection that you have no control over, assuming Location 1 is firewalled, and Location 2 has a firewall allowing SSH traffic to go through?

From Location 1, execute the following command

ssh -N -R <local port that forwards traffic>:localhost:<port that gets forward traffic> -p <SSH port listening on Location 2>  <username that exists on Location 2>@Location2

Simplified, it is:

ssh -N -R <X>:localhost:<Y> -p <Z> username@Location2

And so, when you run the following command at Location 2,

ssh -p <X> <username that exists on Location 1>@localhost

where localhost actually refers to Location 1, you connect to Location 2, gets forwarded by SSH to port <Y> on Location 1.

So, for example, if you have a VNC running at the office that you want to access from home, first run the following command while at the office:

ssh -N -R 2200:localhost:5900 -p 9999 username@homemachine

The above tells ssh to connect to port 9999 (the SSH port) of the home machine,  with the specified username.

and then at home, to connect to the VNC server at the office, run the VNC viewer, and connect to localhost:2200, which will then forward the traffic to the office on port 5900.