Syncing SSH keys between machines is time consuming. That's where Google Cloud comes in with it's web-based terminal emulator.
Windows terminal emulators are bad
Terminal emulators for Microsoft Windows never felt as good as what I could get on Linux. For a while I was syncing a Linux virtual machine between computers and using it primarily for the terminal. But who wants to sync a VM around just for SSH? My Chromebook can't run VMware so it only worked on my Windows machines.
Google Cloud Shell
I came across Google Cloud Shell which is a good web-based emulator for managing GCP resources. It can also be used for SSH'ing into servers from other providers.
But there's a problem. If you use too much bandwidth in Cloud Shell over a long period of time, you get locked out. So while I loved the idea of using Google Cloud Shell, it didn't work out so well.
Google Cloud Platform has Compute instances (aka. VPS) which don't have these bandwidth restrictions, and can be accessed via a good web-based terminal emulator. But who wants to pay ~$5/month for an SSH terminal? Not me, that's for sure.
GCP Free Tier
Thankfully, Google Cloud has a Free Tier which includes one f1-micro instance for free.
I'll be using Google Chrome here, but other browsers might have similar abilities.
- Go to the Google Cloud Console and click on Compute -> VM instances -> Create an instance. Be sure to select f1-micro as the instance type so it will be free to run.
- After selecting the configuration, click Create.
- Under Remote Access click SSH.
- Copy the URL from this window and open it in a normal Chrome tab.
- In the 3 dot menu, click More Tools -> Add to desktop (on ChromeOS it will be Add to shelf.)
- Right-click on the desktop shortcut and click Pin to taskbar.
- Now it's as easy to use as any desktop app on Windows/Linux/ChromeOS.
When you open the shortcut, the web terminal will transfer temporary SSH keys to the VM and start an SSH connection to it.
Now you can connect to any machine in the world! You can even run multiple instances at the same time.
I didn't expect to use this long-term
I kept meaning to find a better local solution. I thought the web-based terminal emulator would prove to not be good enough. But after using it for a few months I've had no issues.
What do you think of this Google Cloud use case?
Let me know in the comments.