GCP PlayCloud Labs
-
GCP PlayCloud Labs
-
Guided Lab: How to Launch a GCP Compute Engine Linux Instance
-
Guided Lab: Creating a VM Using Instance Templates
-
Guided Lab: Creating and Managing Instance Groups in Compute Engine
-
Guided Lab: Creating a Spot VM Instance
-
Guided Lab: Configuring Shielded VM Options
-
Guided Lab: Exploring Instance Metadata in Google Cloud
-
Guided Lab: Vertically Scaling a VM Instance
-
Guided Lab: Setting up a Web Server on a VM Instance
-
Guided Lab: Using Startup Scripts in GCP VM Instances
-
Guided Lab: Creating a Custom Image from a VM Instance with Web Server in Google Cloud
-
Guided Lab: Creating VM Snapshots and Restoring a VM from a Snapshot
-
Guided Lab: Setting Up and Managing a Database on a VM Instance
-
Guided Lab: Installing WordPress on an Ubuntu VM Instance with LEMP Stack
-
Guided Lab: Deploying a LAMP Stack on a Compute Engine VM
-
Guided Lab: Reserving or Promoting a Static IP Address for a VM Instance
-
Guided Lab: SSH Access to GCP VM Instance from Local Machine using SSH Key Pair
-
Guided Lab: Guarding Your VM with Deletion Protection
-
Guided Lab: Setting Up a Linux Bastion Host on GCP
-
Guided Lab: Creating a Cloud Storage Bucket
-
Guided Lab: Uploading, Organizing, and Managing Objects in Cloud Storage
-
Guided Lab: Exploring Google Cloud Storage Classes
-
Guided Lab: Hosting a Static Website in Google Cloud Storage Bucket
-
Guided Lab: Protecting Data on Cloud Storage Bucket Against Accidental Delete and Overwrite Using Object Versioning
-
Guided Lab: Using Cloud Storage Lifecycle Rules to Automate Object Management
-
Guided Lab: Managing Cloud Storage Buckets via SSH Commands
-
Guided Lab: Creating a Cloud SQL Instance
-
Guided Lab: Running SQL Commands in Cloud SQL Studio
-
Guided Lab: Creating and Restoring Cloud SQL Backups
-
Guided Lab: Integrating Cloud SQL Database instance with a VM instance
-
Guided Lab: Connecting Cloud SQL Database with MySQL Workbench (Local)
-
Guided Lab: Guarding Your Cloud SQL Instances with Deletion Protection
-
Guided Lab: Creating a Cloud NAT Gateway
-
Guided Lab: Creating a Google Kubernetes Engine (GKE) Cluster
-
Guided Lab: Connecting to a Kubernetes Engine Cluster
-
Guided Lab: Deploying a Simple Web Application on GKE
-
Guided Lab: Creating a Custom Virtual Private Cloud (VPC)
-
Guided Lab: Establishing VPC Peering for Secure Cross‑Network Communication
-
Guided Lab: Configuring Firewall Rules to Secure and Access a VM
-
Guided Lab: Creating an Application Load Balancer
-
Guided Lab: Creating a Network Load Balancer
Guided Lab: SSH Access to GCP VM Instance from Local Machine using SSH Key Pair
Description
Secure Shell (SSH) is the standard way to remotely access and manage virtual machines in Google Cloud. Instead of relying on passwords, SSH uses key pairs (a private key stored locally and a public key registered with the VM) to provide secure, encrypted authentication
In this guided lab, you will learn how to set up and use SSH keys to establish secure access to a VM instance in Google Cloud. This is a foundational skill for cloud administrators and developers who need to manage workloads safely and efficiently.
Prerequisites
To ensure the successful completion of this lab, you must have prior experience in creating VM instances and be familiar with their essential components. If you feel that your knowledge in this area is insufficient, we highly recommend taking this lab to gain the necessary understanding:
Objectives
In this lab, you will:
- Create a VM instance.
- Generate and secure an SSH key pair (private + public key).
- Register the public key with your VM.
- Connect to the VM manually using the
ssh -icommand from your local machine.
Lab Steps
Create a VM Instance
1. In the Cloud Console, navigate to Compute Engine → VM instances.
2. Click Create instance.
3. Enter the desired name.
4. Select a machine type (e.g., e2-small).
6. Under OS and storage, click the Change button to modify the Boot disk:
- Operating System: Ubuntu
6. Leave other configurations at their default values.
7. Click Create.
Generate SSH Key Pair
1. On your local machine, generate a new key pair. You can choose any filename (example: my-gcp-key)
ssh-keygen -t rsa -b 4096 -f ~/my-gcp-key

2. Enter passphrase (empty for no passphrase)
This creates:
- my-gcp-key → private key file
- my-gcp-key.pub → public key file

3. Secure the private key:
chmod 400 ~/my-gcp-key
Add Public Key to GCP VM
1. Go to Google Cloud Console → Compute Engine → VM instances
2. Select your VM → Edit.
3. Scroll to SSH Keys → Add Item.

4. Paste the public key in the correct format (ssh-rsa … ubuntu).
When pasting the public key, ensure it ends with the username you intend to log in with. For example: ssh-rsa AAAAB3… ubuntu

5. Save.
Verify Firewall Rules
Ensure SSH (TCP port 22) is allowed:
- Go to VPC Network → Firewall rules.
- Confirm a default-allow-ssh exists allowing tcp:22

Connect to VM
Use the external IP of your VM and the correct username, referencing your private key file
ssh -i ~/my-gcp-key ubuntu@<VM_EXTERNAL_IP>

Test & Troubleshoot
- Permission denied (publickey) → Check that the public key is in /home/ubuntu/.ssh/authorized_keys and matches the username.
- Wrong username → If you pasted ssh-rsa … myuser, connect as myuser@<VM_EXTERNAL_IP>.
- Key permissions → Ensure chmod 400 my-gcp-key (private key).
Congratulations! You’ve successfully set up and used SSH keys to securely access a VM in Google Cloud. You now understand how to generate key pairs, register them with a VM, and connect from your local machine using secure, password‑less authentication.