在浏览器中使用 SSH


您可以使用 SSH-in-browser 工具从 Google Cloud 控制台连接到 Compute Engine 虚拟机 (VM) 实例。SSH-in-browser 不需要任何其他扩展程序或软件。SSH-in-browser 支持连接到将 SSH 密钥存储在元数据中的虚拟机、使用 OS Login 的虚拟机以及使用 IAP 进行 TCP 转发的虚拟机。

每次使用 SSH-in-browser 连接到虚拟机时,Compute Engine 都会创建临时密钥对并设置用户名以用于连接。您的用户名以及 Compute Engine 存储 SSH 密钥的位置取决于您使用的是存储在元数据中的 SSH 密钥还是 OS Login。如需了解详情,请参阅关于 SSH 连接

要求

如需使用 SSH-in-browser,您的环境必须满足以下要求:

  • Google Cloud 控制台必须在支持的网络浏览器中运行。
  • 您要连接到的虚拟机必须安装并运行客机环境。通过 Google 提供的公共映像创建的虚拟机已预安装了客机环境。
  • 您的网络必须满足以下要求:

    • HTTPS 代理和安全设备不得使用自己的 TLS 证书解密和重新加密流量(例如用于执行 TLS 检查)。
    • 网络必须允许流量进出以 google.comgstatic.comgoogleapis.com 结尾的主机名。
    • 网络必须允许将数据包发送到默认网域的 IP 地址。
    • 如需通过虚拟机的外部 IP 地址连接到虚拟机,虚拟私有云 (VPC) 必须对 IP 地址范围 0.0.0.0/0 允许 TCP 入站流量
    • 如需通过虚拟机的内部 IP 地址连接到虚拟机,VPC 必须使用 IAP

使用 SSH-in-browser

连接到虚拟机

如需了解如何使用 SSH-in-browser 连接到虚拟机,请参阅连接到 Linux 虚拟机

如需了解如何使用 SSH-in-browser 连接到 Cloud TPU,请参阅连接到 Cloud TPU 虚拟机

连接到没有公共 IP 地址的虚拟机

如需连接到只有内部 IP 地址的虚拟机,请按照为仅限内部使用的虚拟机选择连接选项进行操作。

使用用户上传的 SSH 密钥连接到虚拟机

对于使用 OS Login 的虚拟机,SSH-in-browser 支持使用用户上传的 ECDSA SSH 密钥进行连接。

如需使用用户上传的 SSH 密钥连接到虚拟机,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往虚拟机实例页面。

    转到“虚拟机实例”

  2. 在虚拟机列表中,点击要连接到的虚拟机的 SSH 按钮旁边的 下拉列表。

  3. 点击使用提供的 SSH 私钥在浏览器窗口中打开

    系统会打开 SSH-in-browser 窗口。

  4. 点击使用 SSH 密钥文件建立连接,然后选择与 OS Login 配置文件中的公钥相关联的私钥文件。

断开与虚拟机的连接

如需断开与虚拟机的连接并终止 SSH-in-browser 会话,请运行 exit 命令。

滚动浏览终端

您可以使用鼠标滚轮或触控板滚动终端。 或者,您可以使用工作站操作系统的键盘快捷键。

Windows 和 Linux

如需向上滚动,请使用 Ctrl+Shift+PageUp。如需向下滚动,请使用 Ctrl+Shift+PageDn

macOS

如需向上滚动,请使用 Fn+Shift+Up。如需向下滚动,请使用 Fn+Shift+Down

ChromeOS

如需向上滚动,请使用 Alt+Shift+Up。如需向下滚动,请使用 Alt+Shift+Down

复制并粘贴文本

SSH-in-browser 的默认复制选项是选中即复制。系统会复制您在 SSH-in-browser 中突出显示的所有文本。您也可以使用工作站操作系统的键盘快捷键复制和粘贴文本。

Windows 和 Linux

如需复制文本,请使用 Ctrl+C。如需粘贴文本,请使用 Ctrl+V

macOS

如需复制文本,请使用 Cmd+C。如需粘贴文本,请使用 Cmd+V

ChromeOS

没有可用于复制文件的键盘快捷键。如需粘贴文本,请使用 Ctrl+Shift+V

如果您在复制和粘贴大量文本时遇到问题,请改用文件传输功能。

传输文件

如需了解如何使用 SSH-in-browser 将文件传输到虚拟机以及从虚拟机传输文件,请参阅使用 SSH-in-browser 传输文件

已知问题

  • SSH 密钥转移时间缓慢。SSH-in-browser 密钥传输时间介于 2 到 25 秒之间。
  • 间歇性断开连接。目前,我们不对连接的生命周期提供特定的服务等级协议 (SLA)。如果您打算使终端窗口长时间保持打开状态,请使用终端多路复用器,例如 tmuxscreen
  • 键盘快捷键关闭窗口。以下键盘快捷键会关闭 SSH-in-browser 窗口:
    • 在 Windows 和 Linux 工作站上:Ctrl+W
    • 在 macOS 工作站上:Cmd+W
    • 在 ChromeOS 工作站上:Ctrl+Shift+W
  • 大型文件的传输速度可能会很慢。如果您遇到文件传输时间较长的问题,请使用 gcloud compute scp 命令,而不是使用 SSH-in-browser。

问题排查

如需查找诊断和解决失败的 SSH 连接问题的方法和工具,请参阅排查 SSH 问题