【问题标题】:aws start-session end with **Cannot perform start session: EOF**aws start-session end with **Cannot perform start session: EOF**
【发布时间】:2022-04-04 00:53:43
【问题描述】:

我尝试在我的 CI 中使用 Session Manager(使用普通配置,所以没什么太花哨的)。

所有输入(键等)和配置(用户/策略/键)均有效。我成功地在自己的笔记本电脑上开始了会话。

但在我的管道上,我收到了以下消息

Starting session with SessionId: xxxx-xxxxxxx
$ **Cannot perform start session: EOF**

这个shell相关吗?

CI上使用的工具供参考:

  • 会话管理器插件:1.2.30.0
  • AWS CLI:aws-cli/1.18.223 Python/2.7.17 Linux/5.4.0-1039-azure botocore/1.19.63

【问题讨论】:

  • 您找到解决方案了吗?我有同样的问题。我的情况是我从 github 操作运行 aws ecs execute-command
  • @BenjaminHao 是的,它只是与 TTY 相关。最后,我们为通过笔记本电脑进行 SSH 预留了启动会话。对于我们的 CD,我们使用aws ssm send-command --document-name "AWS-RunShellScript" 和远程执行的脚本(在我们的案例中是在 EC2 上,而不是在 ECS 上)。问候
  • 谢谢!我会尝试你的解决方案。我找到了另一个对我有用的。我通过sudo apt-get install expect 安装了expect 并使用unbuffer aws ecs execute-command .... 运行命令
  • @BenjaminHao 很聪明,因为 unbuffer 允许绕过交互行为;)

标签: aws-systems-manager aws-session-manager


【解决方案1】:

如果你像我一样遇到这个错误:

Cannot perform start session: EOF

到了这里,然后使用 Benjamin Hao 评论中的信息,我采取了以下步骤使其最终起作用:

安装期望,在我的情况下,我必须将它安装在与 Ubuntu 一起安装的 Github 托管运行器上:

apt install -y expect

然后,在您尝试执行的命令前添加“unbuffer”,例如:

unbuffer aws ecs execute-command --region $REGION --cluster $ecs_cluster_name --task $ecs_task_id --container ops-machine --command 'clitool env start --confirm' --interactive

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2021-07-04
    • 2019-09-07
    • 2017-10-29
    • 2021-12-19
    • 2018-09-06
    • 1970-01-01
    相关资源
    最近更新 更多