Some questions you will face when you decided to use Google's Compute Engine for your VM Instances, include:

  1. How will admins access the Compute Instance ? (There are 4 different ways to do this - 2 via SSH and 2 via gCloud and Console)
  2. Is storing SSH keys in the instance metadata acceptable? If so, this is the easiest route.

Generating your SSH Keys to be GCP Friendly

GCP expects the following format for your SSH key (public key part)

<protocol> <key-blob>

<protocol> <key-blob> google-ssh {"userName":"<[email protected]>","expireOn":"<date>"}

Option 1 - Enable OS Login. OS Login uses IAM roles to provide your public SSH key to the instance through your Google Account or a managed user account.
When setting up OS Login, ensure that you have first added the SSH keys to a user account (i.e.  added your public key to the user account that you want to use to connect to your VM).

Option 2 a (Instance Metadata) - Manually add and remove SSH keys by editing project or instance metadata. This method adds a little risk and is typically NOT recommended unless the OS Login method above does not work for you. However, a significant advantage of this method is that it works for ALL users (since the keys are stored at an instance level). It might be ideal for a DEVELOPMENT environment, where multiple users need access to the F5 instance.

Option 2 b (Project Metadata) - Same  as 2a , except the SSH key is applied to the project metadata. It is applicable to ALL instances in the project (even riskier than 2a).

Option 3 - SSH Keys Managed for you

-- You can also connect to instances through the Google Cloud Console, where Compute Engine automatically manages the full lifecycle of your keys, or

Option 4 - SSH Keys via gCloud

Using the gcloud command-line tool in the SDK, where Compute Engine configures persistent SSH key metadata for you.

Option 5 - Through the Console

You can also connect to instances through the Google Cloud Console, where Compute Engine automatically manages the full lifecycle of your keys.

TIP: To SSH into your instance, use putty - and your own key pair (hopefully, that's what you used to associate with the instance). Using default SSH access that GCP controls and provides, may not work - especially for custom image based instances.

Summary 

GCP makes it easy to connect to your Compute instances, providing you with ultra simple (console based) to slightly involved (instance metadata SSH key) options.