Content:


Google Cloud控制台本身有SSH功能,可以通过网页登录或gcloud命令行工具就能轻松连接。另外,使用Xshell或PuTTY等第三方工具亦能连接Google Cloud,其主要的方式有:

  1. 账号密码登录
  2. 通过密钥登录

本文主要是讲述在windows下,如何使用第三方工具通过密钥登录。

1. 涉及工具

  • Xshell
  • PuTTYgen tool


2. 生成密钥

Windows 未提供内置的 SSH 客户端,因此必须下载并安装第三方客户端。

Xshell虽说有创建SSH密钥的功能,不过并不能很好的应用在Google Cloud上。在Google Cloud的官方指导文档中,是采用PuTTY的gen工具生成SSH密钥。

2.1 Google的密钥格式

如果没有到期时间,SSH 公钥必须采用以下格式:

ssh-rsa [KEY_VALUE] [USERNAME]

其中:

  • [KEY_VALUE] 是 SSH 公钥值。
  • [USERNAME] 是实例中您为其应用该密钥的用户。


如果 SSH 公钥有到期时间,则必须采用以下格式:

ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}

其中:

  • [KEY_VALUE] 是 SSH 公钥值。
  • [USERNAME] 是此 SSH 密钥的用户,在创建密钥时指定。
  • [EXPIRE_TIME] 是采用 ISO 8601 格式的值,例如 2018-12-04T20:12:00+0000


2.2生成步骤:

  1. 打开puttygen.exe软件,点击 Generate 并按照屏幕上的说明生成新密钥。

    • 在大多数情况下,使用默认参数就可以,但您必须生成至少有 2048 位的密钥。密钥生成完成后,该工具将显示您的公钥值。如图1所示的红色大方框。
  2. Key comment 部分,将已有的文本替换成要应用该密钥的用户名。

    • 替换后,在公钥值的最后部分会自动替换成已修改的用户名。
  3. (可选)您可输入一个 Key passphrase 来保护您的密钥。

  4. 点击 Save private key,将私钥写入扩展名为 .ppk 的文件中。

  5. 点击 Save public key,将公钥写入文件,供putty连接google cloud使用。

    • 注意PuTTYgen所创建的SSH密钥公钥文件是无法直接应用在除PuTTY之外的其他工具中,打开会显示文件格式出现错误。

    image-20210104164711028

    图1

  6. 点击 Conversions,将公钥转换成OpenSSH,供xshell等软件使用。如图2所示。

image-20210104165926233

图2


3. 配置Google Cloud

在Compute Engine的元数据页面添加公钥值

image-20210104170725532

步骤

  1. 元数据 -> SSH 密钥 (SSH Keys) 下,点击修改

  2. 点击添加项目,将在puttygen生成的公钥值内容粘贴到文本框中。

    • 如需移除 SSH 公钥,请点击其旁边的移除按钮:

      PuTTYgen 公钥。

  3. 完成修改 SSH 密钥后,点击保存


4. 使用Xshell连接

  1. 启动 Xshell.exe ,创建新的sessions。

  2. Connection下,在Host字段中输入要连接到的实例的外部 IP 地址。请使用以下格式:

    请参考以下屏幕截图:

    image-20210104173008110

  3. Authentication下设置

    • method:选择Public Key
    • User Name:PuTTYgen中设置的Key comment
    • User Key:导入从Conversions所生成的公钥文件

    请参考以下屏幕截图:

    image-20210104171540638

  4. 完成配置,点击Connect连接终端。


5. 使用Putty连接

putty的配置方式直接摘取Google的官方文件

  1. 启动 putty.exe 以打开 PuTTY。系统将打开连接配置窗口。

  2. Host Name 字段中,输入与 SSH 密钥关联的用户名,以及您要连接到的实例的外部 IP 地址。请使用以下格式:

    USERNAME@EXTERNAL_IP
    

    请替换以下内容:

    • USERNAME:连接到实例的用户的用户名。此值必须是您在创建 SSH 密钥时指定的用户名。
    • EXTERNAL_IP:您要连接到的实例的外部 IP 地址。

    例如,请参考以下屏幕截图:

    将“Host Name”字段设置为 jane_doe@203.0.113.2 作为用户名和 IP 地址的示例

  3. Category 菜单中,依次转到 Connection > SSH > Auth

  4. Private key file for authentication 字段中,浏览到您的私钥文件所在的位置

    例如,请参考以下屏幕截图:

    在私钥文件字段中设置 my-ssh-key.ppk 文件的路径。

  5. 点击 Open 以打开一个与您的实例连接的终端。


6. 参考文件

  1. 使用第三方工具连接
  2. 创建新SSH密钥
  3. 修改SSH公钥元数据

There are 0 comments