

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 获取 Lightsail for Research 虚拟计算机的密钥对
<a name="get-ssh-keys"></a>

密钥对由公钥和私钥组成，是您在连接到 Amazon Lightsail for Research 虚拟计算机时用来证明自己身份的一组安全证书。公钥存储在 Lightsail for Research 中的每台虚拟计算机上，私钥保存在本地计算机上。使用私有密钥可在虚拟计算机上安全地建立安全外壳协议（SSH）。拥有私有密钥的任何人都可以连接到您的虚拟计算机，因此请务必将您的私有密钥存储在一个安全的位置。

首次创建 Lightsail 实例或 Lightsail for Research 虚拟计算机时，会自动创建亚马逊 Lightsail 默认密钥对 (DKP)。DKP 特定于您在其中创建实例或虚拟计算机的每个 AWS 区域。例如，美国东部（俄亥俄州）区域的 Lightsail DKP（us-east-2）适用于您在美国东部（俄亥俄州）在 Lightsail 和 Lightsail for Research 中创建的所有计算机，这些计算机在创建时配置为使用 DKP。Lightsail for Research 会自动将 DKP 的公钥存储在你创建的虚拟计算机上。你可以随时通过对 Lightsail 服务进行 API 调用来下载 DKP 的私钥。

在本文档中，我们将介绍如何获取虚拟计算机的 DKP。获取 DKP 后，您可以使用许多 SSH 客户端（例如 OpenSSH、PuTTY 和 Windows Subsystem for Linux）建立连接。您还可以使用 Secure Copy（SCP）将文件从您的本地计算机安全传输到您的虚拟计算机。

**注意**  
您还可以使用基于浏览器的 Amazon DCV 客户端与您的虚拟计算机建立远程显示协议连接。亚马逊 DCV 在 Lightsail for Research 控制台中可用。该 RDP 客户端不需要您为计算机获取密钥对。有关更多信息，请参阅[访问 Lightsail for Research 虚拟计算机应用程序](open-computer-application.md)和[访问你的 Lightsail for Research 虚拟计算机的操作系统](access-computer-operating-system.md)。

**Topics**
+ [完成 先决条件](#get-ssh-keys-prerequisites)
+ [获取虚拟计算机的密钥对](#get-dkp-ssh-keys)
+ [继续执行后续步骤](#get-ssh-keys-next-steps)

## 完成 先决条件
<a name="get-ssh-keys-prerequisites"></a>

在开始之前，请满足以下先决条件。
+ 在 Lightsail 中创建一台用于研究的虚拟计算机。有关更多信息，请参阅 [创建 Lightsail for Research 虚拟计算机](create-computer.md)。
+ 下载并安装 AWS Command Line Interface (AWS CLI)。有关更多信息，请参阅《AWS Command Line Interface 用户指南版本 2》**中的[安装或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。
+ 配置 AWS CLI 以访问您的 AWS 账户。有关更多信息，请参阅《AWS Command Line Interface 用户指南版本 2》**中的[配置基础知识](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)。
+ 下载并安装 jq。它是一个轻型且灵活的命令行 JSON 处理器，用于在以下过程中从 AWS CLI的 JSON 输出中提取密钥对详细信息。有关下载和安装 jq 的更多信息，请参阅 *jq 网站*上的[下载 jq](https://stedolan.github.io/jq/download/)。

## 获取虚拟计算机的密钥对
<a name="get-dkp-ssh-keys"></a>

完成以下过程之一，即可在 Lightsail for Research 中获取虚拟计算机的 Lightsail DKP。

### 使用 Windows 本地计算机获取虚拟计算机的密钥对
<a name="get-dkp-ssh-keys-windows"></a>

如果您的本地计算机使用 Windows 操作系统，则适用此过程。此过程使用`download-default-key-pair` AWS CLI 命令获取某个区域的 Lightsail DKP。 AWS 有关更多信息，请参阅《AWS CLI 命令参考》**中的 [download-default-key-pair](https://docs.aws.amazon.com/cli/latest/reference/lightsail/download-default-key-pair.html)。

1. 打开 Command Prompt (命令提示符窗口)。

1. 输入以下命令以获取特定区域的 Lightsail DKP。 AWS 此命令将信息保存到 `dkp-details.json` 文件中。在命令中，`{{region-code}}`替换为创建虚拟计算机的 AWS 区域的代码，例如`us-east-2`。

   ```
   aws lightsail download-default-key-pair --region {{region-code}} > dkp-details.json
   ```

   **示例**

   ```
   aws lightsail download-default-key-pair --region {{us-east-2}} > dkp-details.json
   ```

   该命令没有响应。您可以通过打开`dkp-details.json`文件并查看 Lightsail DKP 信息是否已保存来确认命令是否成功。`dkp-details.json` 文件的内容应与以下示例类似。如果文件为空，则命令失败。  
![dkp-details.json 文件的示例内容。](http://docs.aws.amazon.com/zh_cn/lightsail-for-research/latest/ug/images/ssh-dkp-key-details-windows.png)

1. 输入以下命令从 `dkp-details.json` 文件中提取私有密钥信息并将其添加到新的 `dkp_rsa` 私有密钥文件中。

   ```
   type dkp-details.json | jq -r ".privateKeyBase64" > dkp_rsa
   ```

   该命令没有响应。您可以通过打开 `dkp_rsa` 文件并查看其中是否包含信息来确认命令是否成功。`dkp_rsa` 文件的内容应与以下示例类似。如果文件为空，则命令失败。  
![dkp_rsa 文件的示例内容。](http://docs.aws.amazon.com/zh_cn/lightsail-for-research/latest/ug/images/ssh-dkp-private-key-windows.png)

   现在，您拥有与虚拟计算机建立 SSH 或 SCP 连接所需的私有密钥。继续阅读[下一节](#get-ssh-keys-next-steps)，了解后续步骤。

### 为使用 Linux、Unix 或 macOS 本地计算机的虚拟计算机获取密钥对
<a name="get-dkp-ssh-keys-linux"></a>

如果您的本地计算机使用 Linux、Unix 或 macOS 操作系统，则适用此过程。此过程使用`download-default-key-pair` AWS CLI 命令获取某个区域的 Lightsail DKP。 AWS 有关更多信息，请参阅《AWS CLI 命令参考》**中的 [download-default-key-pair](https://docs.aws.amazon.com/cli/latest/reference/lightsail/download-default-key-pair.html)。

1. 打开终端窗口。

1. 输入以下命令以获取特定区域的 Lightsail DKP。 AWS 此命令将信息保存到 `dkp-details.json` 文件中。在命令中，`{{region-code}}`替换为创建虚拟计算机的 AWS 区域的代码，例如`us-east-2`。

   ```
   aws lightsail download-default-key-pair --region {{region-code}} > dkp-details.json
   ```

   **示例**

   ```
   aws lightsail download-default-key-pair --region {{us-east-2}} > dkp-details.json
   ```

   该命令没有响应。您可以通过打开`dkp-details.json`文件并查看 Lightsail DKP 信息是否已保存来确认命令是否成功。`dkp-details.json` 文件的内容应与以下示例类似。如果文件为空，则命令失败。  
![dkp-details.json 文件的示例内容。](http://docs.aws.amazon.com/zh_cn/lightsail-for-research/latest/ug/images/ssh-dkp-key-details-linux.png)

1. 输入以下命令从 `dkp-details.json` 文件中提取私有密钥信息并将其添加到新的 `dkp_rsa` 私有密钥文件中。

   ```
   cat dkp-details.json | jq -r '.privateKeyBase64' > dkp_rsa
   ```

   该命令没有响应。您可以通过打开 `dkp_rsa` 文件并查看其中是否包含信息来确认命令是否成功。`dkp_rsa` 文件的内容应与以下示例类似。如果文件为空，则命令失败。  
![dkp_rsa 文件的示例内容。](http://docs.aws.amazon.com/zh_cn/lightsail-for-research/latest/ug/images/ssh-dkp-private-key-linux.png)

1. 输入以下命令，为 `dkp_rsa` 文件设置权限。

   ```
   chmod 600 dkp_rsa
   ```

   现在，您拥有与虚拟计算机建立 SSH 或 SCP 连接所需的私有密钥。继续阅读[下一节](#get-ssh-keys-next-steps)，了解后续步骤。

## 继续执行后续步骤
<a name="get-ssh-keys-next-steps"></a>

成功获取虚拟计算机的密钥对后，您可以完成以下其他后续步骤：
+ 使用 SSH 连接到您的虚拟计算机，以使用命令行对其进行管理。有关更多信息，请参阅 [使用安全外壳连接到 Lightsail for Research 虚拟计算机](connect-using-ssh.md)。
+ 使用 SCP 连接到您的虚拟计算机，以安全地传输文件。有关更多信息，请参阅 [使用安全副本将文件传输到 Lightsail for Research 虚拟计算机](connect-using-scp.md)。