【问题标题】:Is there a way in python to RDP into a windows ec2 instance?python中有没有办法将RDP放入Windows ec2实例?
【发布时间】:2021-05-14 03:43:32
【问题描述】:

就像我们有 python 库 BOTO3 一样,我们可以使用它来 ssh 到基于 linux 的 ec2 实例,但看起来相同的脚本不适用于基于 Windows 的 ec2 实例。我在这个问题中使用了 python 脚本连接到我的窗口 How to SSH and run commands in EC2 using boto3? 。但我收到以下错误:

[WinError 10060] 连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应

我所有的安全组规则都符合,我在传入选项卡中打开了 RDP 端口。仍然收到此错误。 python中有没有办法将RDP放入Windows ec2实例?或者任何其他编程语言?

【问题讨论】:

  • 您真正想要实现的目标是什么?也许您正在寻找 Powershell Remote...
  • @maurice 我想在我的windows base ec2实例上执行一些sql脚本,目前我们RDP进入jumphost,然后打开SSMS工具,然后连接到所需的DB并执行脚本.我想自动化这个,因为我希望通过脚本建立一个 RDP 连接,然后执行那些 sql 查询。一口气搞定。
  • RDP 是基于 GUI 的解决方案,而 SSH 是基于 CLI 的解决方案。基于 GUI 的解决方案更难实现自动化,甚至更难以以稳健的方式实现自动化。根据其通用性,您可以创建一个 Systems Manager 自动化文档并通过 AWS API 执行该文档,这样您就不必向外部打开端口。另一种解决方案是使用 Powershell Remoting,它允许您使用 Powershell 创建类似 shell 的会话。
  • 这确实很一般。看起来系统管理器是我需要的出路。 Powershell 也是一种选择,但我没有管理员权限。将不得不探索 aws 系统管理器。谢谢莫里斯

标签: python python-3.x amazon-ec2 boto3 boto


【解决方案1】:

总结一下我们在 cmets 中讨论的内容。

您的目标是从 EC2 Windows 实例针对数据库运行 SQL 脚本,并且您希望通过 Python 触发此操作。

您建议的使用 RDP 的解决方案是有问题的,因为与 SSH 相比,RDP 是一种 GUI 驱动的协议,它本质上会向您发送像素的颜色值,这很难与之交互。与 SSH 连接等效的或多或少是 PowerShell Remoting,它需要您打开一个端口,该端口可从您的 python 脚本访问。

不需要从外部访问服务器的解决方案是使用 Systems Manager 自动化。例如,您可以创建一个自动化文档来运行 PowerShell script on the instance 并通过 API (ssm:StartAutomationExecution) 触发它。

【讨论】:

    猜你喜欢
    • 2020-10-15
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 2021-04-24
    • 2020-02-29
    • 2017-11-19
    相关资源
    最近更新 更多