Content:
Google Cloud控制台本身有SSH功能,可以通过网页登录或gcloud
命令行工具就能轻松连接。另外,使用Xshell或PuTTY等第三方工具亦能连接Google Cloud,其主要的方式有:
- 账号密码登录
- 通过密钥登录
本文主要是讲述在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生成步骤:
打开
puttygen.exe
软件,点击 Generate 并按照屏幕上的说明生成新密钥。- 在大多数情况下,使用默认参数就可以,但您必须生成至少有 2048 位的密钥。密钥生成完成后,该工具将显示您的公钥值。如图1所示的红色大方框。
在 Key comment 部分,将已有的文本替换成要应用该密钥的用户名。
- 替换后,在公钥值的最后部分会自动替换成已修改的用户名。
(可选)您可输入一个 Key passphrase 来保护您的密钥。
点击 Save private key,将私钥写入扩展名为
.ppk
的文件中。点击 Save public key,将公钥写入文件,供putty连接google cloud使用。
- 注意:
PuTTYgen
所创建的SSH密钥公钥文件是无法直接应用在除PuTTY之外的其他工具中,打开会显示文件格式出现错误。
图1 - 注意:
点击 Conversions,将公钥转换成
OpenSSH
,供xshell等软件使用。如图2所示。
3. 配置Google Cloud
在Compute Engine的元数据页面添加公钥值
步骤
在元数据 -> SSH 密钥 (SSH Keys) 下,点击修改。
点击添加项目,将在puttygen生成的公钥值内容粘贴到文本框中。
如需移除 SSH 公钥,请点击其旁边的移除按钮:
完成修改 SSH 密钥后,点击保存。
4. 使用Xshell连接
启动
Xshell.exe
,创建新的sessions。在Connection下,在Host字段中输入要连接到的实例的外部 IP 地址。请使用以下格式:
请参考以下屏幕截图:
在Authentication下设置
- method:选择Public Key
- User Name:PuTTYgen中设置的Key comment
- User Key:导入从Conversions所生成的公钥文件
请参考以下屏幕截图:
完成配置,点击Connect连接终端。
5. 使用Putty连接
putty的配置方式直接摘取Google的官方文件
启动
putty.exe
以打开 PuTTY。系统将打开连接配置窗口。在 Host Name 字段中,输入与 SSH 密钥关联的用户名,以及您要连接到的实例的外部 IP 地址。请使用以下格式:
USERNAME@EXTERNAL_IP
请替换以下内容:
USERNAME
:连接到实例的用户的用户名。此值必须是您在创建 SSH 密钥时指定的用户名。EXTERNAL_IP
:您要连接到的实例的外部 IP 地址。
例如,请参考以下屏幕截图:
在 Category 菜单中,依次转到 Connection > SSH > Auth。
在 Private key file for authentication 字段中,浏览到您的私钥文件所在的位置。
例如,请参考以下屏幕截图:
点击 Open 以打开一个与您的实例连接的终端。
There are 0 comments