【问题标题】:AWS ECS Exec fails on shell access to ECS Fargate task (Unable to start shell: Failed to start pty: fork/exec C:/Program: no such file or directory)AWS ECS Exec 在 shell 访问 ECS Fargate 任务时失败(无法启动 shell:无法启动 pty:fork/exec C:/Program:没有这样的文件或目录)
【发布时间】:2021-10-08 14:25:48
【问题描述】:

我正在尝试通过 AWS CLI (v2.1.38) 通过 aws-vault 从 Windows 机器获得对 AWS Fargate 集群中 Linux ECS 任务的 shell 级别访问权限。

我使用的编辑命令是

aws-vault exec my-profile -- aws ecs execute-command --cluster my-cluster-name --task my-task-id --interactive --command "/bin /sh"

但是这个输出失败了

The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.
Starting session with SessionId: ecs-execute-command-0bc2d48dbb164e010
SessionId: ecs-execute-command-0bc2d48dbb164e010 :
----------ERROR-------
Unable to start shell: Failed to start pty: fork/exec C:/Program: no such file or directory

我可以看到 ECS Exec 已在此任务上启用,因为 aws describe 显示以下内容。

它似乎识别出主机是一台 Windows 机器,并试图基于特定于 Windows 的变量进行初始化。

有没有人能建议我可以做些什么来解决这个问题。

【问题讨论】:

  • 我很想使用github.com/tedsmitt/ecsgo,但它还不能在 Windows 上使用。
  • 我无法让 ECS exec 命令从 Windows 命令提示符或 GitBash 命令提示符运行。如果您在 WSL2 中切换到 Ubuntu 命令提示符,它将正常工作。
  • 嗨@MarkB 感谢您的意见,这很有效。

标签: amazon-web-services command-line-interface amazon-ecs


【解决方案1】:

我使用的是 Windows 7,我认为如果没有 WSL(Windows 10+)或 Linux(或 Mac),它就无法工作。这里解释了另一个不值得麻烦的建议:

Cannot start an AWS ssm session on EC2 Amazon linux instance

对我来说,我只是在 AWS 中使用了一个 Linux 堡垒,它从那里开始工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-30
    • 2019-10-07
    • 2022-11-14
    • 1970-01-01
    • 2016-12-25
    • 2019-05-20
    • 2021-10-15
    • 2021-09-29
    相关资源
    最近更新 更多