You can connect to Compute Engine virtual machine (VM) instances from within the Trusted Cloud console by using the SSH-in-browser tool. SSH-in-browser doesn't require any additional extensions or software. SSH-in-browser supports VMs that use IAP for TCP forwarding.
Each time you connect to a VM by using SSH-in-browser, Compute Engine creates an ephemeral key pair and sets a username for your connection. For more information see About SSH connections.
Requirements
To use SSH-in-browser, your environment must meet the following requirements:
- Trusted Cloud console must be running in a supported web browser.
- The VM you're connecting to must have the guest environment installed and running. The guest environment is pre-installed on VMs that you create from Google-provided public images.
Your network must meet the following requirements:
- HTTPS proxies and security devices must not decrypt and re-encrypt traffic using their own TLS certificate, for example, to perform TLS inspection.
- The network must allow traffic to and from hostnames ending in
google.com
,gstatic.com
, orgoogleapis.com
. - The network must allow packets to be sent to the IP addresses for the default domains.
- To connect to VMs through their external IP address, the
Virtual Private Cloud (VPC) must allow TCP ingress traffic for IP range
0.0.0.0/0
. - To connect to VMs through their internal IP address, the VPC must use IAP.
Limitations
- Not supported within VPC Service Controls perimeters. SSH-in-browser isn't supported within VPC Service Controls perimeters. Use the gcloud CLI instead. For more information, see Connect to Linux VMs or Connecting to a serial console, depending on your use case.
- Slow SSH key transfer times. SSH-in-browser key transfer times range from 2 to 25 seconds.
- Intermittent disconnects. At this time, we don't offer a specific Service Level Agreement (SLA) for connection lifetimes. If you plan to keep the terminal window open for an extended period of time, use terminal multiplexers like tmux or screen.
- Keyboard shortcuts close the window. The following keyboard shortcuts
close the SSH-in-browser window:
- On Windows and Linux workstations:
Ctrl+W
- On macOS workstations:
Cmd+W
- On Chrome OS workstations:
Ctrl+Shift+W
- On Windows and Linux workstations:
- File transfer might be slow for large files. If you experience slow file
transfer times, use the
gcloud compute scp
command instead of SSH-in-browser.
Use SSH-in-browser
Connect to VMs
To learn how to use SSH-in-browser to connect to a VM, review Connect to Linux VMs.
To learn how to use SSH-in-browser to connect to a Cloud TPU, review Connecting to a Cloud TPU VM.
Connect to VMs that don't have public IP addresses
To connect to VMs that have only internal IP addresses, follow Choose a connection option for internal-only VMs.
Disconnect from VMs
To disconnect from a VM and terminate an SSH-in-browser session, run the exit
command.
Scroll through the terminal
You can scroll the terminal using your mouse wheel or trackpad. Alternatively, you can use the keyboard shortcuts for your workstation's operating system.
Windows and Linux
To scroll up, use Ctrl+Shift+PageUp
. To scroll down, use
Ctrl+Shift+PageDn
.
macOS
To scroll up, use Fn+Shift+Up
. To scroll down, use Fn+Shift+Down
.
Chrome OS
To scroll up, use Alt+Shift+Up
. To scroll down, use Alt+Shift+Down
.
Copy and paste text
The default copy option for SSH-in-browser is Copy on select. Any text you highlight in SSH-in-browser is copied. You can alternatively copy and paste the text using the keyboard shortcuts for your workstation's operating system.
Windows and Linux
To copy text, use Ctrl+C
. To paste text, use Ctrl+V
.
macOS
To copy text, use Cmd+C
. To paste text, use Cmd+V
.
Chrome OS
There is no keyboard shortcut to copy files. To paste text, use
Ctrl+Shift+V
.
If you encounter problems copying and pasting large blocks of text, use file transfer instead.
Transfer files
To learn how to transfer files to and from VMs using SSH-in-browser, review Transfer files using SSH-in-browser.
Troubleshoot
To find methods and tools for diagnosing and resolving failed SSH connections, see Troubleshooting SSH.