User Tools

Site Tools


Tunneling with DreamCompute

These steps set up remote access to a home network using an ssh tunnel to a DreamCompute host.

  1. At the DreamCompute Security Groups and Key Pairs panels…
    1. Create a new Security Group ruleset. Add rules to open the desired ports, including port 22 for ssh. For example, to open port 22 use parameters: Custom TCP Rule, Ingress, Port 22, Remote CIDR =
    2. Create a Key Pair, download the public key (e.g., cloud.pem), and put it in the home server ~/.ssh directory.
  2. At the DreamCompute Instances panel, launch a new instance (Boot Source Image Ubuntu 16.04, Flavor gp1.subsonic), selecting the newly created Security Group and Key Pair.
  3. Create an A-type DNS record for the DreamCompute IP address with a name like
  4. Using ssh from home machine, connect to Dreamhost instance (e.g., ssh -i .ssh/cloud.pem Edit /etc/ssh/sshd_config and add this configuration information at the end (assuming default user is ubuntu):
    ClientAliveInterval 30
    ClientAliveCountMax 3
    Match User ubuntu
        GatewayPorts yes

    This step also ensures that the Dreamhost instance is added to the local ~/.ssh/known_hosts file.

  5. While connected to the Dreamhost instance, do sudo apt-get and update, upgrade, dist-upgrade, and autoremove. And, reboot.
  6. On home server, create a ~/.ssh/config file with something like this…
    Host tunnel
    User ubuntu
    IdentityFile ~/.ssh/cloud.pem
    BatchMode yes
    EscapeChar none
    RemoteForward *:9190
    RemoteForward *:9191
    RemoteForward *:9999
  7. Add this line to crontab:
    @reboot autossh -fN tunnel


  1. DreamCompute instance
  2. sshd_config manpage
  3. autossh manpage
tunneling_with_dreamcompute.txt · Last modified: 2019/06/14 15:51 by jtkorb