【问题标题】:AWS Systems Manager Session Manager Port Forwarding not connectingAWS Systems Manager Session Manager 端口转发未连接
【发布时间】:2020-07-30 01:51:34
【问题描述】:

我在私有子网的 VPC 中有一个 EC2 Windows 2019 Server 实例。我在公共子网中有一个堡垒实例,我知道堡垒实例可以工作,因为它被用于我的 Lambda API 的互联网访问。我有 VPC 端点:

  • com.amazonaws.eu-west-2.ssm
  • com.amazonaws.eu-west-2.ec2messages
  • com.amazonaws.eu-west-2.ec2

我想通过 RDP 连接到 EC2 实例来管理我的 MySQL RDS 实例。我一直在尝试让 Systems Manager Session Manager Port Forwarding 工作,遵循几个指南。

我已经尝试了所有我能找到的指南,一切似乎都正确设置。

是否需要在堡垒实例 SG 上或在我想要 RDP 的 EC2 所在的 SG 上设置特定端口的入站/出站端口?我无法在任何地方看到它。

我已经运行了 AWSSupport-TroubleshootRDP,一切都以“成功”通过,从输出看一切都很好。

当我在我的机器上运行端口转发命令时,它会启动会话,但我从未得到“连接已接受”,并且当我尝试这样做时 RDP 连接失败。

谁能指出我还能做些什么来验证我是否拥有正确的网络配置,并测试为什么我没有得到“接受连接”,正如我所看到的,我应该从指南中得到。

提前致谢。

【问题讨论】:

  • 你试过普通的ssh吗?暂时忘记 SSM 会话管理器,并检查使用普通 ssh 端口转发时是否一切正常。

标签: amazon-web-services amazon-ec2 portforwarding rdp


【解决方案1】:

为了测试通过会话管理器端口转发运行 RDP 的能力,我执行了以下操作:

  • 启动了一个运行 Microsoft Windows Server 2019 Base 的 Amazon EC2 实例
  • 将 IAM 角色与AmazonSSMManagedInstanceCore 权限相关联
  • 将安全组设置为无入站连接(以确认正在通过会话管理器建立连接)
  • 确认我可以使用 Session Manager 连接到实例上的 PowerShell(使用 Session Manager 控制台)
  • 在我的 Mac 上运行以下命令:
aws ssm start-session --target i-xxx --document-name AWS-StartPortForwardingSession --parameters '{"portNumber":["3389"],"localPortNumber":["3389"]}'
  • 使用 Microsoft 远程桌面(通过 RDP 连接)连接到 localhost
  • 它提示我输入密码。我使用Get Windows Password来解码并获取密码。
  • 连接成功

所以,是的,您可以使用会话管理器端口转发与 Windows 实例建立 RDP 连接,即使它位于私有子网中(我通过删除安全组上的所有入站规则来模拟)。

如果您还有其他问题,可能是由于您的 VPC Endpoint 配置所致。

【讨论】:

  • 谢谢约翰。我已经完成了所有这些,但我决定再次尝试以与您相同的方式确认。我删除了 VPC 终端节点,并且没有重新创建它们。我很确定我的问题是我使用的是 Microsoft 商店中的 Microsoft 远程桌面应用程序,因为它在 AWS 的示例中。当我使用标准远程桌面应用程序并以管理员身份连接时,它可以工作。
猜你喜欢
  • 2021-04-15
  • 2020-07-22
  • 2020-10-21
  • 2020-02-18
  • 1970-01-01
  • 2019-02-15
  • 2018-04-21
  • 2021-05-18
  • 2020-01-02
相关资源
最近更新 更多