使用 Remote Desktop 连接到 Windows Server 托管实例 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Remote Desktop 连接到 Windows Server 托管实例

您可以使用Fleet Manager(功能为)通过 (RDP) 连接到您的Windows Server亚马逊弹性计算云 (Amazon EC2) 实例。 Amazon Systems Manager Remote Desktop Protocol Fleet Manager由 NICE DCV 提供支持的远程桌面可让您直接从 Systems Manager 控制台安全地连接到您的 Windows Server 实例。在一个浏览器窗口中最多可以同时连接四个连接。

有关配置 Amazon Identity and Access Management (IAM) 权限以允许您的实例与 Systems Manager 交互的更多信息,请参阅为 Systems Manager 配置实例权限

注意

目前,您只能对运行 Windows Server 2012 RTM 或更高版本的实例使用远程桌面。远程桌面仅支持英语输入。

设置环境

在使用远程桌面之前,请确保环境满足以下要求:

  • 托管式节点配置

    确保在 Systems Manager 中将您的 Amazon EC2 实例配置为托管式节点

  • 最低 SSM Agent 版本

    验证节点运行的 SSM Agent 版本是否为 3.0.222.0 或更高版本。有关如何检查节点上正在运行哪个代理版本的信息,请参阅 正在检查 SSM Agent 版本号。有关安装或更新 SSM Agent 的信息,请参阅 使用 SSM Agent

  • RDP 端口配置

    要接受远程连接,Windows Server 节点上的 Remote Desktop Services 服务必须使用默认 RDP 端口 3389。这是提供的 Amazon Machine Images (AMIs) 上的默认配置 Amazon。系统没有明确要求您打开任何入站端口才能使用远程桌面。

  • 键盘功能的 PSReadLine 模块版本

    为确保您的键盘在 PowerShell 中正常运行,请验证运行 Windows Server 2022 的节点是否安装了 PSReadLine 模块版本 2.2.2 或更高版本。如果它们运行的是旧版本,您可以使用以下命令安装所需的版本。

    Install-Module ` -Name PSReadLine ` -Repository PSGallery `-MinimumVersion 2.2.2
  • 会话管理器配置

    使用远程桌面之前,您必须先完成会话管理器设置的先决条件。当您使用远程桌面连接到实例时,将应用为 Amazon Web Services 账户 和 Amazon Web Services 区域 定义的所有会话首选项。有关更多信息,请参阅设置 Session Manager

    注意

    如果您使用 Amazon Simple Storage Service(Amazon S3)记录会话管理器活动,则远程桌面连接将在 bucket_name/Port/stderr 中生成以下错误。该错误是预期行为,可以安全忽略。

    Setting up data channel with id SESSION_ID failed: failed to create websocket for datachannel with error: CreateDataChannel failed with no output or error: createDataChannel request failed: unexpected response from the service <BadRequest>
    <ClientErrorMessage>Session is already terminated</ClientErrorMessage>
    </BadRequest>

为远程桌面配置 IAM 权限

除 Systems Manager 和 Session Manager 所需的 IAM 权限外,用于访问控制台的用户或角色还必须允许以下操作:

  • ssm-guiconnect:CancelConnection

  • ssm-guiconnect:GetConnection

  • ssm-guiconnect:StartConnection

以下是 IAM policy 示例,您可以将这些策略附加到用户或角色以允许与远程桌面进行不同类型的交互。将每个示例资源占位符替换为您自己的信息。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:GetPasswordData" ], "Resource": "*" }, { "Sid": "SSM", "Effect": "Allow", "Action": [ "ssm:DescribeInstanceProperties", "ssm:GetCommandInvocation", "ssm:GetInventorySchema" ], "Resource": "*" }, { "Sid": "TerminateSession", "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": "*", "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:session-id": [ "${aws:userid}" ] } } }, { "Sid": "SSMStartSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:account-id:instance/*", "arn:aws:ssm:*:account-id:managed-instance/*", "arn:aws:ssm:*::document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "ssm-guiconnect.amazonaws.com" } } }, { "Sid": "GuiConnect", "Effect": "Allow", "Action": [ "ssm-guiconnect:CancelConnection", "ssm-guiconnect:GetConnection", "ssm-guiconnect:StartConnection" ], "Resource": "*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:GetPasswordData" ], "Resource": "*" }, { "Sid": "SSM", "Effect": "Allow", "Action": [ "ssm:DescribeInstanceProperties", "ssm:GetCommandInvocation", "ssm:GetInventorySchema" ], "Resource": "*" }, { "Sid": "SSMStartSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*::document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "ssm-guiconnect.amazonaws.com" } } }, { "Sid": "AccessTaggedInstances", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:account-id:instance/*", "arn:aws:ssm:*:account-id:managed-instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag key": [ "tag value" ] } } }, { "Sid": "GuiConnect", "Effect": "Allow", "Action": [ "ssm-guiconnect:CancelConnection", "ssm-guiconnect:GetConnection", "ssm-guiconnect:StartConnection" ], "Resource": "*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SSO", "Effect": "Allow", "Action": [ "sso:ListDirectoryAssociations*", "identitystore:DescribeUser" ], "Resource": "*" }, { "Sid": "EC2", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:GetPasswordData" ], "Resource": "*" }, { "Sid": "SSM", "Effect": "Allow", "Action": [ "ssm:DescribeInstanceProperties", "ssm:GetCommandInvocation", "ssm:GetInventorySchema" ], "Resource": "*" }, { "Sid": "TerminateSession", "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": "*", "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:session-id": [ "${aws:userName}" ] } } }, { "Sid": "SSMStartSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ssm:*:*:managed-instance/*", "arn:aws:ssm:*:*:document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "ssm-guiconnect.amazonaws.com" } } }, { "Sid": "SSMSendCommand", "Effect": "Allow", "Action": [ "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ssm:*:*:managed-instance/*", "arn:aws:ssm:*:*:document/AWSSSO-CreateSSOUser" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }, { "Sid": "GuiConnect", "Effect": "Allow", "Action": [ "ssm-guiconnect:CancelConnection", "ssm-guiconnect:GetConnection", "ssm-guiconnect:StartConnection" ], "Resource": "*" } ] }

验证远程桌面连接

建立远程连接时,您可以使用 Windows 凭证或与实例关联的 Amazon EC2 密钥对(.pem 文件)进行身份验证。有关使用密钥对的信息,请参阅《Amazon EC2 Windows 实例用户指南》中的 Amazon EC2 密钥对和 Windows 实例

或者,如果您已通过 Amazon Web Services Management Console 使用身份验证 Amazon IAM Identity Center,则无需提供其他凭证即可连接到您的实例。有关允许使用 IAM Identity Center 进行远程连接身份验证的策略示例,请参阅 为远程桌面配置 IAM 权限

开始前的准备工作

在开始使用远程桌面进行连接之前,请注意以下有关使用 IAM Identity Center 身份验证的条件。

  • 远程桌面支持您启用 IAM Identity Center 的同一 Amazon Web Services 区域 中的节点的 IAM Identity Center 身份验证。

  • 远程桌面支持最多 16 个字符的 IAM Identity Center 用户名。

  • 远程桌面支持由字母数字字符和以下特殊字符组成的 IAM Identity Center 用户名:. - _

    重要

    包含以下字符的 IAM Identity Center 用户名将无法成功连接:+ = , @

    IAM Identity Center 支持用户名中的这些字符,但 Fleet Manager RDP 连接不支持。

  • 使用 IAM Identity Center 对连接进行身份验证后,远程桌面会在实例的本地管理员组中创建一个本地 Windows 用户。远程连接结束后,此用户仍然存在。

  • 远程桌面不允许对作为 Microsoft Active Directory 域控制器的节点进行 IAM Identity Center 身份验证。

  • 尽管远程桌面允许您对已加入 Active Directory 域的节点使用 IAM Identity Center 身份验证,但我们不建议这样做。此身份验证方法向用户授予管理权限,这些权限可能会覆盖域授予的更严格的权限。

IAM Identity Center 身份验证支持的区域

以下 Amazon Web Services 区域支持使用 IAM Identity Center 身份验证的 Remote Desktop 连接:

  • 美国东部(俄亥俄州)(us-east-2)

  • 美国东部(弗吉尼亚州北部)(us-east-1)

  • 美国西部(北加利福尼亚)(us-west-1)

  • 美国西部(俄勒冈州)(us-west-2)

  • 非洲(开普敦)(af-south-1)

  • 亚太地区(香港)(ap-east-1)

  • 亚太地区(孟买)(ap-south-1)

  • 亚太地区(东京)(ap-northeast-1)

  • 亚太地区(首尔)(ap-northeast-2)

  • 亚太地区(大阪)(ap-northeast-3)

  • 亚太地区(新加坡)(ap-southeast-1)

  • 亚太地区(悉尼)(ap-southeast-2)

  • 亚太地区(雅加达)(ap-southeast-3)

  • 加拿大(中部)(ca-central-1)

  • 欧洲地区(法兰克福)(eu-central-1)

  • 欧洲地区(斯德哥尔摩)(eu-north-1)

  • 欧洲地区(爱尔兰)(eu-west-1)

  • 欧洲(伦敦)(eu-west-2)

  • 欧洲地区(巴黎)(eu-west-3)

  • 以色列(特拉维夫)(il-central-1)

  • 南美洲(圣保罗)(sa-east-1)

  • 欧洲(米兰)(eu-south-1)

  • 中东(巴林)(me-south-1)

  • Amazon GovCloud (美国东部) (us-gov-east-1)

  • Amazon GovCloud (美国西部) (us-gov-west-1)

远程连接持续时间和并发

以下条件适用于活动的远程桌面连接:

  • 连接持续时间

    默认情况下,远程桌面连接会在 60 分钟后断开。为防止连接断开,您可以选择在断开连接之前续订会话以重置持续时间计时器。

  • 连接超时

    远程桌面连接在闲置超过 10 分钟后会断开连接。

  • 并发连接

    默认情况下,您一次最多可以有 5 个活动的远程桌面连接,用于相同 Amazon Web Services 账户 和 Amazon Web Services 区域。要请求将服务限额增加到最多 25 个并发连接,请参阅《Service Quotas User Guide》中的 Requesting a quota increase

使用远程桌面连接到托管式节点

浏览器对文本的复制/粘贴支持

使用 Google Chrome 和 Microsoft Edge 浏览器,您可以将文本从托管节点复制并粘贴到本地计算机,也可以从本地计算机复制并粘贴到您所连接的托管节点。

使用 Mozilla Firefox 浏览器,您只能将托管节点中的文本复制并粘贴到本地计算机上。不支持从本地计算机复制到托管节点。

使用 Fleet Manager 远程桌面连接到托管式节点
  1. 打开 Amazon Systems Manager 控制台,网址为 https://console.aws.amazon.com/systems-manager/

  2. 在导航窗格中,选择 Fleet Manager

    -或者-

    如果首先打开 Amazon Systems Manager 主页,请选择菜单图标 ( 
    The menu icon
  ) 以打开导航窗格,然后在导航窗格Fleet Manager中进行选择。

  3. 选择您想要连接到的节点。您可以选择复选框或节点名称。

  4. 节点操作菜单中,选择连接远程桌面

  5. 选择首选的 Authentication type(身份验证类型)。如果您选择用户凭据,请输入您要连接的节点上的 Windows 用户账户的用户名和密码。如果您选择密钥对,您可以使用以下方法之一提供身份验证:

    1. 如果您想从本地文件系统中选择与您的实例关联的 PEM 密钥,请选择浏览本地计算机

      - 或 -

    2. 如果要复制 PEM 文件的内容并将其粘贴到提供的字段中,请选择粘贴密钥对内容

  6. 选择 Connect(连接)。

  7. 要选择首选的显示分辨率,请在操作菜单中选择分辨率,然后从以下选项中进行选择:

    • 自动适应

    • 1920 x 1080

    • 1400 x 900

    • 1366 x 768

    • 800 x 600

    自动适应选项根据检测到的屏幕尺寸设置分辨率。