

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

# WorkSpaces 在 WorkSpaces 个人版中为你的 Linux 启用 SSH 连接
<a name="connect-to-linux-workspaces-with-ssh"></a>

如果您或您的用户想要使用命令行连接到您 WorkSpaces 的 Linux，则可以启用 SSH 连接。您可以启用与目录 WorkSpaces 中所有人或目录 WorkSpaces 中个人的 SSH 连接。

要启用 SSH 连接，您可以创建新的安全组或更新现有安全组，然后添加规则以允许入站流量用于此目的。安全组用作相关实例的防火墙，可在实例级别控制入站和出站的数据流。创建或更新安全组后，您的用户和其他人可以使用 Putty 或其他终端从其设备连接到您的 Linux。 WorkSpaces有关更多信息，请参阅 [WorkSpaces 个人安全组](amazon-workspaces-security-groups.md)。

有关视频教程，请参阅[如何 WorkSpaces 使用 SSH 连接到我的 Linux Amazon？](https://www.amazonaws.cn/premiumsupport/knowledge-center/linux-workspace-ssh/) 在 Amazon 知识中心上。本教程 WorkSpaces 仅适用于亚马逊 Linux 2。

**Topics**
+ [通过 SSH 连接到 Linux 的先决条件 WorkSpaces](#before-you-begin-enable-ssh-linux-workspaces)
+ [启用与目录中所有 Linux WorkSpaces 的 SSH 连接](#enable-ssh-directory-level-access-linux-workspaces)
+ [中基于密码的身份验证 WorkSpaces](#enable-ssh-access-old-version)
+ [启用与特定 Linux 的 SSH 连接 WorkSpace](#enable-ssh-access-specific-linux-workspace)
+ [WorkSpace 使用 Linux 或 Putty 连接到 Linux](#ssh-connection-linux-workspace-using-linux-or-putty)

## 通过 SSH 连接到 Linux 的先决条件 WorkSpaces
<a name="before-you-begin-enable-ssh-linux-workspaces"></a>
+ 启用到的入站 SSH 流量 WorkSpace -要添加允许入站 SSH 流量流向一个或多个 Linux WorkSpaces 的规则，请确保您拥有需要 SSH 连接到您的设备的公用或私有 IP 地址 WorkSpaces。例如，您可以指定虚拟私有云 (VPC) 之外的设备的公有 IP 地址，或者指定与您位于同一 VPC 中的其他 EC2 实例的私有 IP 地址 WorkSpace。

  如果您计划 WorkSpace 从本地设备连接到，则可以在互联网浏览器中使用搜索短语 “我的 IP 地址是什么” 或使用以下服务：[Check IP](https://checkip.amazonaws.com/)。
+ 连接到 WorkSpace — 启动从设备到 Linux 的 SSH 连接需要以下信息 WorkSpace。
  + 您连接到的 Active Directory 域的 NetBIOS 名称。
  + 您的 WorkSpace 用户名。
  + 您要连接的的的公 WorkSpace 有或私有 IP 地址。

    私有：如果您的 VPC 连接到公司网络并且您可以访问该网络，则可以指定该网络的私有 IP 地址 WorkSpace。

    公共：如果您 WorkSpace 有公有 IP 地址，则可以使用 WorkSpaces 控制台查找公有 IP 地址，如以下过程所述。

**要查找要连接的 Linux WorkSpace 的 IP 地址和您的用户名**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，请选择 **WorkSpaces**。

1. 在列表中 WorkSpaces，选择 WorkSpace 要启用 SSH 连接的。

1. 在 “**运行模式**” 列中，确认 WorkSpace状态为 “**可用**”。

1. 单击 WorkSpace 名称左侧的箭头以显示行内摘要，并记下以下信息：
   + **WorkSpace 知识产权**。这是的私有 IP 地址 WorkSpace。

     需要私有 IP 地址才能获取与关联的 elastic network 接口 WorkSpace。需要网络接口才能检索诸如安全组或与之关联的公有 IP 地址之类的信息 WorkSpace。
   + 用户 WorkSpace **名**。这是您为连接而指定的用户名 WorkSpace。

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**网络接口**。

1. 在搜索框中，键入您在步骤 5 中记下**WorkSpace 的 IP**。

1. 选择与 **WorkSpaceIP** 关联的网络接口。

1. 如果您 WorkSpace 有公有 IP 地址，则该地址会显示在 “**IPv4 公有 IP**” 列中。记下该地址（如果适用）。

**查找您连接到的 Active Directory 域的 NetBIOS 名称**

1. 打开 Amazon Directory Service 控制台，网址为[https://console.aws.amazon.com/directoryservicev2/](https://console.amazonaws.cn/directoryservicev2/)。

1. 在目录列表中，单击该**目录的目录 ID** 链接 WorkSpace。

1. 在 **Directory details (目录详细信息)** 部分，记下 **Directory NetBIOS name (目录 NetBIOS 名称)**。

## 启用与目录中所有 Linux WorkSpaces 的 SSH 连接
<a name="enable-ssh-directory-level-access-linux-workspaces"></a>

要启用与目录 WorkSpaces 中所有 Linux 的 SSH 连接，请执行以下操作。

**使用允许入站 SSH 流量流向目录 WorkSpaces 中所有 Linux 的规则创建安全组**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择 **Security Groups**（安全组）。

1. 选择**创建安全组**。

1. 键入安全组的名称（可选）和描述。

1. 对于 **VP** C，请选择 WorkSpaces 包含要启用 SSH 连接的 VPC。

1. 在 **Inbound (入站)** 选项卡上，选择 **Add Rule (添加规则)**，然后执行以下操作：
   + 对于 **Type**，选择 **SSH**。
   + 对于 **Protocol (协议)**，在您选择 **SSH** 时会自动指定 TCP。
   + 对于 **Port Range (端口范围)**，在您选择 **SSH** 时会自动指定 22。
   + 对于 “**源**”，指定用户用于连接的计算机的公有 IP 地址的 CIDR 范围。 WorkSpaces例如，公司网络或家庭网络。
   + 对于 **Description (描述)**（可选），键入规则的描述。

1. 选择**创建**。

1. 将此安全组附加到您的 WorkSpaces。有关将此安全组添加到您的的更多信息 WorkSpaces，请参阅[WorkSpaces 个人安全组](amazon-workspaces-security-groups.md)。如果您想自动将其他安全组附加到您的 WorkSpaces，请参阅此[博客文章](https://www.amazonaws.cn/blogs/desktop-and-application-streaming/automatically-attach-additional-security-groups-to-amazon-appstream-2-0-and-amazon-workspaces/)。

## 中基于密码的身份验证 WorkSpaces
<a name="enable-ssh-access-old-version"></a>

**在新创建的 Linux 中启用密码身份验证 WorkSpaces**

1. 启动 WorkSpaces 客户端并登录到您的 WorkSpace。

1. 打开终端窗口。

1. 在终端窗口中，运行以下命令，以在 cloud-init 中启用 SSH 密码身份验证。

   ```
   sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: true" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single --name set-passwords'
   ```

   该脚本将执行以下操作：
   + 在 cloud-init 目录 `/etc/cloud/cloud.cfg.d/` 中创建配置文件。
   + 修改配置文件，以告知 cloud-init 启用 SSH 密码身份验证。
   + 重置 `set-passwords` cloud-init 模块，使其可以再次运行。
   + 单独运行 `set-passwords` cloud-init 模块。这会将启用 SSH 密码身份验证的文件写入 SSH 配置目录 `/etc/ssh/sshd_config.d/`，然后重新启动 SSHD，以便立即进行设置。

 这将对您启用 SSH 密码身份验证 WorkSpace ，并将通过自定义映像保存。如果您仅在 SSHD 配置文件中启用 SSH 密码身份验证，而不配置 cloud-init，则在某些 Linux 上，该设置将无法通过映像保留。 WorkSpaces有关更多信息，请参阅 cloud-init 模块文档中的[设置密码]()。

**在现有 Linux 中禁用密码身份验证 WorkSpaces**

1. 启动 WorkSpaces 客户端并登录到您的 WorkSpace。

1. 打开终端窗口。

1. 在终端窗口中，运行以下命令，以在 cloud-init 中禁用 SSH 密码身份验证。

   ```
   sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: false" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single —name set-passwords'
   ```

   该脚本将执行以下操作：
   + 在 cloud-init 目录 `/etc/cloud/cloud.cfg.d/` 中创建配置文件。
   + 修改配置文件，以告知 cloud-init 禁用 SSH 密码身份验证。
   + 重置 `set-passwords` cloud-init 模块，使其可以再次运行。
   + 单独运行 `set-passwords` cloud-init 模块。这会将启用 SSH 密码身份验证的文件写入 SSH 配置目录 `/etc/ssh/sshd_config.d/`，然后重新启动 SSHD，以便立即进行设置。

这会立即禁用中的 SSH， WorkSpace 并且将在自定义映像中保留。

## 启用与特定 Linux 的 SSH 连接 WorkSpace
<a name="enable-ssh-access-specific-linux-workspace"></a>

要启用与特定 Linux 的 SSH 连接 WorkSpace，请执行以下操作。

**向现有安全组添加规则以允许入站 SSH 流量流向特定 Linux WorkSpace**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，在 **Network & Security (网络与安全性)** 下，选择 **Network Interfaces (网络接口)**。

1. 在搜索栏中，键入要启用 SSH 连接 WorkSpace 的的私有 IP 地址。

1. 在 **Security groups (安全组)** 列中，单击安全组的链接。

1. 在 **Inbound (入站)** 选项卡上，选择 **Edit (编辑)**。

1. 选择 **Add Rule (添加规则)**，然后执行以下操作：
   + 对于 **Type**，选择 **SSH**。
   + 对于 **Protocol (协议)**，在您选择 **SSH** 时会自动指定 TCP。
   + 对于 **Port Range (端口范围)**，在您选择 **SSH** 时会自动指定 22。
   + 对于 **Source (源)**，选择 **My IP (我的 IP)** 或 **Custom (自定义)**，然后用 CIDR 表示法指定单个 IP 地址或 IP 地址范围。例如，如果您的 IPv4 地址是`203.0.113.25`，请指定以 `203.0.113.25/32` CIDR 表示法列出此单个 IPv4 地址。如果您的公司要分配同一范围内的地址，请指定整个范围，例如 `203.0.113.0/24`。
   + 对于 **Description (描述)**（可选），键入规则的描述。

1. 选择**保存**。

## WorkSpace 使用 Linux 或 Putty 连接到 Linux
<a name="ssh-connection-linux-workspace-using-linux-or-putty"></a>

在您创建或更新安全组并添加所需规则后，您的用户和其他人可以使用 Linux 或 PuTTY 从其设备连接到您的设备。 WorkSpaces

**注意**  
在完成以下任一过程之前，请确保您具有：  
您连接到的 Active Directory 域的 NetBIOS 名称。
您用来连接的用户名 WorkSpace。
您要连接的的的公 WorkSpace 有或私有 IP 地址。
有关如何获取此信息的说明，请参阅本主题前面的 “通过 SSH 连接到 Linux 的先决条件 WorkSpaces”。

**WorkSpace 使用 Linux 连接到 Linux**

1. 以管理员身份打开命令提示符并输入以下命令。对于*NetBIOS name**Username*、和*WorkSpace IP*，输入适用的值。

   ```
   ssh "NetBIOS_NAME\Username"@WorkSpaceIP
   ```

   以下是 SSH 命令的示例，其中：
   + *NetBIOS\$1NAME*是任何公司
   + 这*Username *是 janedoe
   + 这*WorkSpace IP*是 203.0.113.25

   ```
   ssh "anycompany\janedoe"@203.0.113.25
   ```

1. 出现提示时，输入与 WorkSpaces 客户端进行身份验证时使用的相同密码（您的 Active Directory 密码）。

**WorkSpace 使用 Putty 连接到 Linux**

1. 打开 PuTTY。

1. 在 **PuTTY Configuration (PuTTY 配置)** 对话框中，执行以下操作：
   + 对于 **Host Name (or IP address) (主机名（或 IP 地址）)**，输入以下命令。将这些值替换为您所连接的 Active Directory 域的 NetBIOS 名称 WorkSpace、用于连接的用户名以及要连接的 IP 地址。 WorkSpace 

     ```
     NetBIOS_NAME\Username@WorkSpaceIP
     ```
   + 对于**端口**，输入 **22**。
   + 对于 **Connection type (连接类型)**，选择 **SSH**。

   有关 SSH 命令的示例，请参阅上一过程中的步骤 1。

1.  选择**打开**。

1. 出现提示时，输入与 WorkSpaces 客户端进行身份验证时使用的相同密码（您的 Active Directory 密码）。