Connect to a Compute Engine instance directly with ssh
On Compute Engine it’s very simple to connect to an instance using the gcutil command line tool:
gcutil --project=my_project ssh my_instance
But can we connect directly with ssh? That’s useful if, say, you need to push to a git repository hosted on that instance. Yes it’s easy too. Here’s the full command:
ssh -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i $HOME/.ssh/google_compute_engine -A -p 22 $USER@$IP_OF_INSTANCE
I didn’t make it out, it’s printed when I run gcutil ssh my_instance
If, like me, you can barely remember your own phone number, time has come to dump all these flags to a .ssh/config file:
Host nickname
HostName $IP_OF_INSTANCE
Port 22
User $USER
UserKnownHostsFile /dev/null
CheckHostIP no
StrictHostKeyChecking no
IdentityFile ~/.ssh/google_compute_engine
And now it’s as simple as:
ssh nickname