User Tools

Site Tools


tunneling_with_dreamcompute

This is an old revision of the document!


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 and some random port (say, 1234) for remote access. For example, to open port 22 use parameters: Custom TCP Rule, Ingress, Port 22, Remote CIDR = 0.0.0.0/0.
    2. Create a Key Pair, download the private key (e.g., cloud.pem), and put it in the home server ~/.ssh directory and on a laptop to be used for remote access.
  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 casa.example.com.
  4. Using ssh from home machine, connect to Dreamhost instance (e.g., ssh -i .ssh/cloud.pem ubuntu@casa.example.com). 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
    HostName casa.example.com
    User ubuntu
    IdentityFile ~/.ssh/cloud.pem
    BatchMode yes
    EscapeChar none
    RemoteForward *:9999 192.168.1.192:1234
  7. Add this line to crontab:
    @reboot autossh -fN tunnel
  8. From laptop (or other remote machine where cloud.pem is installed), use this instruction to remote ssh to account local:
    ssh local@casa.example.com -p 1234

References

  1. DreamCompute instance
  2. sshd_config manpage
  3. autossh manpage
tunneling_with_dreamcompute.1668349575.txt.gz · Last modified: 2022/11/13 06:26 by jtkorb