How to remotely connect to my GPU workstation

Using Tailscale for SSH and much more.
Author

Jimmie Munyi

Published

January 10, 2023

When I finished setting up my Deep Learning workstation, the next step was figuring out how I would be able to connect to it remotely, and train models when I was away from home.

I tried setting up SSH following some online tutorials and in the end, it didn’t end up working. And worst of all, I spent a lot of time trying to figure out what went wrong and I still couldn’t debug it. Granted, networking isn’t one of my strongholds.

My frustration led me to discover Tailscale. On their homepage, they describe themselves as a VPN that lets you easily manage access to private resources, quickly SSH into devices on your network, and work securely from anywhere in the world.

And my experience with Tailscale has been exactly that. It is easy to set up, and it is cross-platform (I have it set up on my Linux laptop, the Linux deep learning workstation, and even on my phone).

The docs explain how to get it set up and are easy to follow. When using Tailscale for SSH needs, make sure you have Tailscale SSH setup too. Tailscale also provides Magic DNS that enables us to use the machine name when sshing to the remote computer instead of remembering the IP address.

After setting up Tailscale and Tailscale SSH, the next thing I did was to set up the remote development on VSCode, which is my editor of choice, and voila, I now walk into a coffee shop away from home and train models!

Other uses for Tailscale.

  • Ad blocking and blocking malicious domains and trackers using NextDNS

  • Sending files to and from my connected machines using Taildrop. You could also use SCP for this with the Tailscale SSH setup.