【问题标题】:Cannot start an AWS ssm session on EC2 Amazon linux instance无法在 EC2 Amazon linux 实例上启动 AWS ssm 会话
【发布时间】:2021-10-12 10:59:31
【问题描述】:

我想启动与 EC2 Amazon linux 机器的 AWS SSM 会话。在我的 AWS Systems Manager 首选项中,我将RunAs 用户设置为ubuntu,所以基本上我正在寻找一个命令,它可以让我与不同的RunAs 用户开始会话。

类似这样的:

aws ssm start-session --target i-id --RunAs ec2-user

我在执行时收到的当前错误消息:

aws ssm start-session --target i-id

----------ERROR-------
Unable to start command: failed to start pty since RunAs user ubuntu does not exist

【问题讨论】:

  • 这是 ubuntu 机器还是 amazon Linux 或其他发行版?
  • @AmithJayasekara 亚马逊 Linux 机器
  • 实例是否出现在 Session Manager 管理控制台中?你能通过那个控制台连接吗?
  • awscli 命令使用“实例上的默认用户”,该默认用户由 AMI 确定。看起来您声称拥有一个 Amazon Linux 实例,其默认用户通常是 ec2-user 但 SSM 认为它是 ubuntu 并且该用户实际上并不存在。我不确定那会如何发生。这是标准的 Amazon Linux AMI 启动还是您有自定义 AMI?
  • which would let me start a session with a different RunAs user. 为什么?默认情况下,ssm 在ssm-user 系统用户下运行

标签: amazon-web-services amazon-ec2 aws-ssm amazon-systems-manager


【解决方案1】:

在 AWS 知识中心文章中找到此内容,这可能会对您有所帮助。

https://aws.amazon.com/premiumsupport/knowledge-center/ssm-session-manager-connect-fail/

RunAs 用户名无效 错误:“无效的 RunAs 用户名”

-或-

错误:“无法启动 shell:无法启动 pty,因为 RunAs 用户 xyz 不存在”

如果为 Linux 实例启用运行方式支持为空或指定的操作系统用户名无效,会话管理器将失败。

要解决此问题,您可以提供有效的操作系统用户名(例如,ubuntu、ec2-user 或 centos)。然后,验证启动会话的 IAM 用户或角色是否标记有 SSMSessionRunAs = os-user-account-name。用户帐户也必须存在于操作系统上。有关更多信息,请参阅启用对 Linux 和 macOS 实例的运行支持。

或者,您可以清除为 Linux 实例启用运行方式支持。

【讨论】:

  • 是的,这行得通,但我可以在每次启动会话时动态设置此值,而无需为此构建一些工具或脚本
猜你喜欢
  • 1970-01-01
  • 2021-02-11
  • 2021-12-31
  • 1970-01-01
  • 2017-08-24
  • 2015-08-23
  • 2022-06-18
  • 2016-06-18
  • 2017-12-02
相关资源
最近更新 更多