

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

# 使用 RDP 登录 Windows 实例
<a name="workinginstances-rdp"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

您可以使用 Windows 远程桌面协议 (RDP) 登录到联机 Windows 实例，如下所示：
+ 该实例必须具有安全组以及允许 RDP 访问的入站规则。

  有关使用安全组的更多信息，请参阅[使用安全组](workingsecurity-groups.md)。
+ 普通用户 — OpsWorks Stacks 为授权的普通用户提供 RDP 密码，该密码在有限的时间段内有效，范围从 30 分钟到 12 小时不等。

  除了获得授权外，用户还必须至少具有 Sho [w 权限级别](opsworks-security-users-console.md)，或者其附加 AWS Identity and Access Management (IAM) 策略必须允许该`opsworks:GrantAccess`操作。
+ 管理员：您可以使用管理员密码登录，登录时长不受限制。

  如后所述，如果您为实例指定了亚马逊弹性计算云 (Amazon EC2) 密钥对，则可以使用它来检索管理员密码。

**注意**  
本主题介绍如何从 Windows 工作站使用 Windows 远程桌面连接客户端登录。您还可以为 Linux 或 OS X 使用可用的 RDP 客户端之一，但过程可能会有些不同。有关与 Microsoft Windows Server 2012 R2 兼容的 RDP 客户端的更多信息，请参阅 [Microsoft 远程桌面客户端](https://technet.microsoft.com/en-us/library/dn473009.aspx)。

**Topics**
+ [

## 提供允许 RDP 访问的安全组
](#workinginstances-rdp-rdp-ingress)
+ [

## 作为普通用户登录
](#workinginstances-rdp-ordinary)
+ [

## 作为管理员登录
](#workinginstances-rdp-admin)

## 提供允许 RDP 访问的安全组
<a name="workinginstances-rdp-rdp-ingress"></a>

实例的安全组入站规则必须允许 RDP 连接，然后您才能使用 RDP 登录 Windows 实例。在区域中创建第一个堆栈时， OpsWorks Stacks 创建一组安全组。它们包括一个名为类似的名字`AWS-OpsWorks-RDP-Server`， OpsWorks 堆栈将其连接到所有 Windows 实例以允许 RDP 访问。但是，默认情况下，此安全组没有任何规则，因此您必须添加入站规则以允许 RDP 访问您的实例。

**允许 RDP 访问**

1. 打开 [Amazon EC2 控制台](https://console.aws.amazon.com/ec2/v2/)，将其设置为堆栈区域，然后从导航窗格中选择**安全组**。

1. **选择 **AWS OpsWorks-RDP-Server**，选择**入站**选项卡，然后选择编辑。**

1. 选择 **Add Rule**，然后指定以下设置：
   + **类型**：**RDP**
   + **源 **-允许的源 IP 地址。

     通常您会允许来自您的 IP 地址或指定 IP 地址范围（一般是公司的 IP 地址范围）的入站 RDP 请求。

## 作为普通用户登录
<a name="workinginstances-rdp-ordinary"></a>

授权用户可以使用 OpsWorks Stacks 提供的临时密码登录到实例。

**为用户授予 RDP 访问权；**

1. 在 OpsWorks 堆栈导航窗格中，单击 “**权限**”。

1. 选中所需用户的 **SSH/RDP** 复选框以授予必要的权限。如果您希望用户具有管理员权限，则还应选择 **sudo/admin**。  
![\[用户的 SSH 和 sudo 权限\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/permissions.png)

授权用户可以登录到堆栈的任意联机实例，如下所示。

**作为普通 IAM 用户登录**

1. 作为 IAM 用户登录。

1. 在 **Instances** 页面上，选择相应实例的 **Actions** 列中的 **rdp**。

1. 指定会话长度，范围可从 30 分钟到 12 小时，然后选择 **Generate Password**。密码仅在指定的会话持续时间内有效。

1. 记录 **public DNS name**、**username** 和 **password** 值，然后选择 **Acknowledge and close**。

1. 打开 Windows 远程桌面连接客户端，选择 **Show Options**，然后使用在步骤 4 中记录的信息提供以下信息：
   + **计算机**：实例的公有 DNS 名称。

     如果愿意，您也可以使用公有 IP 地址。选择 **Instances**，并复制实例的 **Public IP** 列中的地址。
   + **用户名**：用户名。

1. 在客户端提示输入凭证时，输入您在步骤 4 中保存的密码。

**注意**  
OpsWorks Stacks 仅为在线实例生成用户密码。例如，如果您启动一个实例，您的自定义 Setup 配方之一失败，则实例最终将处于 `setup_failed` 状态。尽管就 OpsWorks Stacks 而言，该实例未处于联机状态，但该 EC2 实例仍在运行，登录以解决问题通常很有用。 OpsWorks 在这种情况下，堆栈不会为您生成密码，但是如果您已为实例分配了 SSH 密钥对，则可以使用 EC2 控制台或 CLI 来检索实例的管理员密码并以管理员身份登录。有关更多信息，请参阅下文。

## 作为管理员登录
<a name="workinginstances-rdp-admin"></a>

您可以使用相应的密码，作为管理员登录实例。如果您为实例分配了 EC2 密钥对，Amazon 会在实例启动时 EC2 使用该密钥对自动创建和加密管理员密码。然后，您可以通过 EC2 控制台、API 或 CLI 使用密钥对的私钥来检索和解密密码。

**注意**  
您不能使用[个人 SSH 密钥对](security-ssh-access.md)来检索管理员密码；必须使用 EC2 密钥对。

以下内容介绍如何使用 EC2 控制台检索管理员密码并登录实例。如果您偏好命令行工具，则还可以使用 AWS CLI `[get-password-data](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-password-data.html)` 命令来检索密码。

**作为管理员登录**

1. 确保您已为实例指定了 EC2 key pair。创建堆栈时，您可以[为堆栈的所有实例指定默认密钥对](workingstacks-creating.md)，或者可以在创建实例时[为特定实例指定密钥对](workinginstances-add.md)。

1. 打开[EC2 控制台](https://console.aws.amazon.com/ec2/v2/)，将其设置为堆栈区域，然后从导航窗格中选择**实例**。

1. 依次选择实例、**Connect** 和 **Get Password**。

1. 在您的工作站上提供 EC2 密钥对私钥的路径，然后选择 “**解密密码**”。复制解密的密码供以后使用。

1. 打开 Windows 远程桌面连接客户端，选择 **Show Options**，然后提供以下信息：
   + **计算机**：实例的公有 DNS 名称或公有 IP 地址，您可以从实例的详细信息页面获取这些信息。
   + **用户名**：`Administrator`。

1. 客户端提示输入凭证时，提供从步骤 4 中获得的已解密密码。