使用 RDP 登录 Windows 实例 - AWS OpsWorks

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

使用 RDP 登录 Windows 实例

您可以使用 Windows 远程桌面协议 (RDP) 登录到联机 Windows 实例,如下所示:

  • 该实例必须具有安全组以及允许 RDP 访问的入站规则。

    有关使用安全组的更多信息,请参阅使用安全组

  • 普通用户 – AWS OpsWorks Stacks 向授权普通用户提供在有限时段内有效的 RDP 密码,时段范围可以从 30 分钟到 12 小时。

    除了获得授权之外,用户必须至少有“显示”权限级别,或者其附加的 AWS Identity and Access Management (IAM) 策略必须允许 opsworks:GrantAccess 操作。

  • 管理员 – 您可以使用管理员密码登录,不受时间限制。

    如后文所述,如果您指定了实例的 Amazon Elastic Compute Cloud (Amazon EC2) 密钥对,就可以用它来检索管理员密码。

注意

本主题介绍如何从 Windows 工作站使用 Windows 远程桌面连接客户端登录。您还可以为 Linux 或 OS X 使用可用的 RDP 客户端之一,但过程可能会有些不同。有关与 Microsoft Windows Server 2012 R2 兼容的 RDP 客户端的更多信息,请参阅 Microsoft 远程桌面客户端

提供允许 RDP 访问的安全组

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

允许 RDP 访问

  1. 打开 Amazon EC2 控制台,将其设置为堆栈的区域,然后从导航窗格中选择 Security Groups (安全组)

  2. 选择 AWS-OpsWorks-RDP-Server,再选择 Inbound 选项卡,然后选择 Edit

  3. 选择 Add Rule,然后指定以下设置:

    • Type (类型)RDP

    • Source (源) – 允许的源 IP 地址。

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

作为普通用户登录

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

为 IAM 用户授权 RDP

  1. 在 AWS OpsWorks Stacks 导航窗格中,单击 Permissions (权限)

  2. 选中所需 IAM 用户的 SSH/RDP 复选框以授予必要的权限。如果您希望用户具有管理员权限,则还应选择 sudo/admin

    
                        用户的 SSH 和 sudo 权限

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

作为普通用户登录

  1. 作为 IAM 用户登录。

  2. Instances 页面上,选择相应实例的 Actions 列中的 rdp

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

  4. 记录 public DNS nameusernamepassword 值,然后选择 Acknowledge and close

  5. 打开 Windows 远程桌面连接客户端,选择 Show Options,然后使用在步骤 4 中记录的信息提供以下信息:

    • Computer (计算机) – 实例的公有 DNS 名称。

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

    • User name (用户名) – 用户名。

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

注意

AWS OpsWorks Stacks 仅为联机实例生成用户密码。例如,如果您启动一个实例,您的自定义 Setup 配方之一失败,则实例最终将处于 setup_failed 状态。即使该实例在 AWS OpsWorks Stacks 关注的范围内未联机,EC2 实例仍运行,这通常在登录以对问题进行故障排除时非常有用。这种情况下,AWS OpsWorks Stacks 不会为您生成密码,不过如果您将 SSH 密钥对分配给了实例,则可以使用 EC2 控制台或 CLI 来检索实例的管理员密码并以管理员身份登录。有关更多信息,请参阅以下部分。

作为管理员登录

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

注意

您不能使用个人 SSH 密钥对来检索管理员密码;必须使用 EC2 密钥对。

以下介绍了如何使用 EC2 控制台来检索管理员密码并登录实例。如果您偏好命令行工具,则还可以使用 AWS CLI get-password-data 命令来检索密码。

作为管理员登录

  1. 确保您为实例指定了 EC2 密钥对。创建堆栈时,您可以为堆栈的所有实例指定默认密钥对,或者可以在创建实例时为特定实例指定密钥对

  2. 打开 EC2 控制台,将其设置为堆栈的区域,然后从导航窗格中选择 Instances (实例)

  3. 依次选择实例、ConnectGet Password

  4. 提供您的工作站上 EC2 密钥对中私有密钥的路径,然后选择 Decrypt Password。复制解密的密码供以后使用。

  5. 打开 Windows 远程桌面连接客户端,选择 Show Options,然后提供以下信息:

    • Computer (计算机) – 实例的公有 DNS 名称或公有 IP 地址,您可以从实例的详细信息页面获取这些信息。

    • User name (用户名)Administrator

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