Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I have the setup given below, how do I access the devices (via SSH, http server, etc) on my home network from outside? (please assume that the devices that I want to access are Linux based)

Here's my setup diagram:

enter image description here

Basically to access anything at my home network, I have to traverse 2 NATs/routers, i.e. one at the "ISP router" and the other one at the "Home modem cum router" - and obviously, I have no permissions to change anything at the "ISP Router". So port forwarding from there is out of the question.

Is there any service that will let me:

  1. Install a client on my device (inside the home network)
  2. Also let me assign a URL for each device. Eg:,, etc..
  3. From outside, whenever I want to access the webserver I am running on device1, I can do http: //, or whenever I want to SSH into device1, I can simply connect to "", etc..

Any other alternate methods are also welcome!

share|improve this question
up vote 1 down vote accepted

1 is easy. Simply run a ssh client on your network and use ssh -R to an external server in order to set up a remote tunnel into your network. 2 and 3 are trickier, since SSH doesn't have anything similar to HTTP's Host header; you'd need to use a ProxyCommand to bounce the external SSH client from your internal SSH client to the actual host.

share|improve this answer
Thanks Ignacio! The reverse SSH method works great for SSH access, especially since I have access to a public server which gives me SSH login privileges. (most people who have accounts with hosting providers can make use of their hosting accounts) Good article on how to setup reverse SSH: – Deepak Prakash Oct 26 '10 at 3:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .