Here's my setup: I have a laptop that I roam around everywhere with, and I have a desktop computer at home that is connected to the web using a router with NAT.

My objective here is to create an SSH server which I can use for the purpose of file storage/access as well as using it as a proxy server. However, the problem is that the desktop (which i'm using as the SSH server) is on a router behind a NAT. This means I can't connect to the server from outside my home network.

I want to be able to connect directly to my desktop from an outside network using the laptop. Here are the options I've found on the web so far:

  1. Teamviewer - I really don't want to use this, I tried it and didn't like it one bit.

  2. Configure port forwarding on the router - Again, not an option since the router is actually operated by the ISP and they won't let me reconfigure it.

  3. Using a program called pwnat which I found here - This seems like the most viable of all my options, but I haven't been able to figure out how to get it to work. Also, from the poor documentation, it seems to be quite a pain to use as well.

  4. Reverse tunnel as show here - This cannot work as I don't have a "middle" computer

Is there some way I can make the connection through SSH from the laptop on a regular basis? Otherwise, is there some other alternative that will let me use the desktop as a file server and proxy?

Edit: There was another alternative provided below by ObsessiveFOSS

  1. Using the gogo6 client - Seemed like a good option, but I couldn't make it work. Possibly because my ISP/Router doesn't appear to support IPv6.
  • 1
    Are you sure you cannot configure port forwarding in the router? That's weird on a domestic router. That would be the easiest option. – Salem Oct 10 '12 at 16:21
  • OK is the router connected to a modem, or is the router the modem? – TardisGuy Oct 10 '12 at 16:29
  • Did Teamviewer work with your setup? If it did, it's very likely that ssh works as well if you configure it to use the right port(s). – phoibos Oct 10 '12 at 16:36
  • The proper way to enable ssh access from the outside would be to port forward the router. Some additional information about the ISP and router (make and model) are needed here. I (and i'm sure most others) find it hard to believe that the ISP would disallow the customer access to the routers UI for modification. – Anthony Oct 10 '12 at 16:49
  • 1
    @Anthony Some ISP's run more than one customer on an IP address and don't allow this. – nanofarad Oct 10 '12 at 16:49

You can use Gogo6 and get an IPv6 address at the same time:

On the server, download and install the Gogo6 client with:

sudo apt-get install gogoc

And get an account at http://www.gogo6.com/freenet6/registration for Freenet6.

Then, run gksudo gedit /etc/gogoc/gogoc.conf(still on the server) and set the following settings:


Save and reboot. You can now access your_user_id.broker.freenet6.netas long as the SSH client is set up to bind to that interface. You can just bind it to, which is the default IIRC.

It should allow access from IPv4 hosts, but I will check on that.

| improve this answer | |
  • Okay, this seems interesting. I'm at school right now, but I will try it once I get back. I'm curious though, wouldn't you need to configure the server with this as well? – amol.kamath Oct 11 '12 at 0:46
  • You install gogoc on the server. Sorry if I was unclear. – nanofarad Oct 11 '12 at 0:49
  • Oh, sorry, my bad. Didn't notice that bit. Is there a tutorial somewhere that could tell me how to bind to the freenet6 interface from the SSH client? – amol.kamath Oct 11 '12 at 1:05
  • I recommend you install openssh-server. It binds to all hosts. I am not totally sure you can access the server from an IPv4 network, but you might be able to do so. If it fails to connect from IPv4, you can also install the Gogo6 clent on the client machine(assuming you travel with a laptop or have permission to install it). – nanofarad Oct 11 '12 at 10:38
  • A Windows binary can be found at here(32-bit) or here(64-bit) – nanofarad Oct 11 '12 at 10:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.