

 AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用这项服务。[了解详情](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# 创建 SSH 环境
<a name="create-environment-ssh"></a>

您可以使用 AWS Cloud9 控制台创建 AWS Cloud9 SSH 开发环境。您无法使用 CLI 创建 SSH 环境。

## 先决条件
<a name="prerequisites"></a>
+ 首先确保您已完成 [设置 AWS Cloud9](setting-up.md) 中的步骤。这样，您便可以登录到 AWS Cloud9 控制台并创建环境。
+ 确定要连接到环境的现有云计算 EC2 实例（例如，您的中的 Amazon 实例 AWS 账户）或您 AWS Cloud9 自己的服务器。
+ 确保现有实例或您自己的服务器满足所有 [SSH 托管要求](ssh-settings.md#ssh-settings-requirements)。这包括安装特定版本的 Python、Node.js 和其他组件；对于您希望的登录后 AWS Cloud9 开始目录设置特定权限；以及设置任何关联的 Amazon Virtual Private Cloud。

## 创建 SSH 环境
<a name="create-the-envsshtitle"></a>

1. 确保您已完成上述先决条件。

1. 使用 SSH 客户端连接到现有实例或您自己的服务器（如果您尚未连接）。这确保了您可以向实例或服务器添加必要的公有 SSH 密钥值。这些内容将在此过程的稍后介绍。
**注意**  
要连接到现有的 AWS 云 计算实例，请参阅以下一项或多项资源：  
对于亚马逊 EC2，请参阅《*亚马逊 EC2 用户指南》*中的 “[连接到您的 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)”。
有关 Amazon Lightsail，请参阅 [Amazon Lightsail 文档](https://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-connect-to-your-instance-virtual-private-server)中的*连接到基于 Linux/Unix 的 Lightsail 实例*。
有关信息 AWS Elastic Beanstalk，请参阅《*AWS Elastic Beanstalk 开发人员指南》*中的[列出和连接到服务器实例](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.ec2connect.html)。
有关信息 AWS OpsWorks，请参阅《*AWS OpsWorks 用户指南》*[中的 “使用 SSH 登录 Linux 实例](https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)”。
有关其他 AWS 服务，请参阅该特定服务的文档。
要连接到您自己的服务器，请使用 SSH。已经在 macOS 和 Linux 操作系统上安装了 SSH。要在 Windows 上使用 SSH 连接到服务器，您必须安装 [PuTTY](https://www.putty.org/)。

1. 登录 AWS Cloud9 控制台，网址为[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/)。

1. 登录 AWS Cloud9 控制台后，在顶部导航栏中选择一个 AWS 区域 来创建环境。有关可用列表的信息 AWS 区域，请参见[AWS Cloud9](https://docs.aws.amazon.com/general/latest/gr/rande.html#cloud9_region)中的*AWS 一般参考*。  
![\[AWS Cloud9 控制台中的区域选择器\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. 如果您是第一次创建开发环境，则将显示欢迎页面。在 “**新建 AWS Cloud9 环境**” 面板中，选择 “**创建环境**”。

   如果您之前创建过开发环境，您也可以展开屏幕左侧的窗格。选择 **Your environments**（您的环境），然后选择 **Create environment**（创建环境）。

   在**欢迎**页面：  
![\[如果显示欢迎页面，则选择“Create environment（创建环境）”按钮\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/create_welcome_env_new_UX.png)

   或在 **Your environment（您的环境）**页面内：  
![\[如果未显示欢迎页面，则选择“Create environment（创建环境）”按钮\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/console_create_env_new_UX.png)

1. 在 **Create environment**（创建环境）页面上，输入环境的名称。

1. 在 **Description（描述）**中输入对环境的描述。在本教程中，请使用 `This environment is for the AWS Cloud9 tutorial.`

1. 对于 **Environment type**（环境类型），请从以下选项中选择 **Existing Compute**（现有计算）：
   + **新 EC2 实例**-启动 AWS Cloud9 可以直接通过 SSH 或 SSM 连接的 Amazon EC2 实例。
   + **现有计算**-启动需要 SSH 登录详细信息以及端口 22 才能打开的现有 Amazon EC2 实例。 AWS Cloud9 通过连接到实例[AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)。
     + 如果您选择 **Existing compute**（现有计算）选项，则会自动创建服务角色。您可以在界面下方的 **Systems Manager 访问的服务角色和实例配置文件**部分查看服务角色名称。有关更多信息，请参阅 [使用访问无入口 EC2 实例 AWS Systems Manager](ec2-ssm.md)。
**警告**  
为您的环境创建 EC2 实例可能会导致您收取 Amazon AWS 账户 费用 EC2。使用 Systems Manager 来管理与您的 EC2 实例的连接无需支付额外费用。
**警告**  
AWS Cloud9 使用 SSH 公钥安全地连接到您的服务器。要建立安全连接，请将我们的公有密钥添加到您的 `~/.ssh/authorized_keys` 文件中，并在以下步骤中提供您的登录凭证。选择 **Copy key to clipboard**（将密钥复制到剪贴板）以复制 SSH 密钥，或选择 **View public SSH key**（查看 SSH 公有密钥）以查看密钥。

1. 在 **Existing compute**（现有计算）面板上，对于 **User**（用户），请输入您在此过程中之前连接到实例或服务器时使用的登录名。例如，对于 AWS 云 计算实例，该登录名可能为 `ec2-user`、`ubuntu` 或 `root`。
**注意**  
我们建议将登录名与实例或服务器上的管理权限或管理员用户关联。更具体地说，我们建议此登录名应在实例或服务器上拥有 Node.js 安装。要进行此检查，请在实例或服务器的终端上运行命令 **`ls -l $(which node)`**（如果您使用的是 `nvm`，请运行 **`ls -l $(nvm which node)`**）。此命令会显示 Node.js 安装的拥有者名称。它还会显示安装的权限、组名称和位置。

1. 对于 **Host**（主机），请输入公有 IP 地址（首选）或者实例或服务器的主机名。

1. 在 “**端**口” 中，输入您 AWS Cloud9 要用来尝试连接到实例或服务器的端口。您也可保留默认端口。

1. 选择 **Additional details - optional**（其他详细信息 – 可选）以显示环境路径、node.js 二进制文件路径和 SSH 跳转主机信息。

1. 在**环境路径**中，输入您要 AWS Cloud9 从中启动的实例或服务器上的目录路径。您之前在此步骤的先决条件中确定了这一点。如果将此项留空， AWS Cloud9 将使用实例或服务器在登录之后通常开始使用的目录。这通常为主目录或默认目录。

1. 对于 **Path to Node.js binary path**（Node.js 二进制文件路径），请输入路径信息以指定实例或服务器上指向 Node.js 二进制文件的路径。要获取路径，您可以在实例或服务器上运行命令 **`which node`**（在使用 `nvm` 时为 **`nvm which node`**）。例如，路径可能为 `/usr/bin/node`。如果将此项留空， AWS Cloud9 在尝试连接时，将尝试猜测 Node.js 二进制文件所在的位置。

1. 对于 **SSH jump host**（SSH 跳转主机），输入有关实例或服务器使用的跳转主机的信息。使用格式 `USER_NAME@HOSTNAME:PORT_NUMBER`（例如 `ec2-user@ip-192-0-2-0:22`）。

   跳转主机必须满足以下要求：
   + 它必须可使用 SSH 通过公有互联网访问。
   + 它必须允许任意 IP 地址通过指定端口的入站访问。
   + 复制到现有实例或服务器上 `~/.ssh/authorized_keys` 文件中的公有 SSH 密钥值还必须复制到跳转主机上的 `~/.ssh/authorized_keys` 文件中。
   + 必须安装有 Netcat。

1. 通过为每个标签提供**键**和**值**，添加最多 50 个标签。要执行此操作，请选择 **Add new tag**（添加新标签）。这些标签作为资源标签附加到 AWS Cloud9 环境，并传播到以下底层资源： CloudFormation 堆栈、Amazon EC2 实例和 Amazon EC2 安全组。要了解有关标签的更多信息，请参阅 *[IAM 用户指南中的[使用 AWS 资源标签控制访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)以及本指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)*中有关标签的[高级信息](tags.md)。
**警告**  
如果您在创建标签后更新这些标签，则更改不会传播到底层资源。有关更多信息，请参阅[标签](tags.md)高级信息中的 [将标签更新传播到底层资源](tags.md#tags-propagate)。

1. 选择 **Create**（创建）以创建您的环境，然后系统会将您重定向到主页。成功创建帐户后， AWS Cloud9 控制台顶部会出现一个绿色的闪光条。您可以选择新环境并选择 **Open in Cloud9**（在 Cloud9 中打开）以启动 IDE。  
![\[AWS Cloud9 AWS Cloud9 控制台中的 IDE 选择器\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/images/cloud9-ide-open.png)

   如果未能创建账户，则 AWS Cloud9 控制台顶部会出现一个红色的闪光条。由于您的网络浏览器、 AWS 访问权限、实例或关联网络存在问题，您的账户可能无法创建。您可以在 [AWS Cloud9 故障排除](troubleshooting.md#troubleshooting-env-loading)部分找到有关可能修复导致账户失败问题的信息。

**注意**  
如果您的环境使用代理来访问 Internet，则必须向其提供代理详细信息， AWS Cloud9 这样它才能安装依赖关系。有关更多信息，请参阅 [无法安装依赖项](troubleshooting.md#proxy-failed-dependencies)。