为什么无法使用会话管理器连接到 Amazon EC2 实例?

1 分钟阅读
0

我无法使用会话管理器(AWS Systems Manager 的一项功能)访问我的 Amazon Elastic Compute Cloud(Amazon EC2)实例。

解决方法

以下原因可能会阻止您连接到会话管理器来访问实例:

  • 会话首选项不正确
  • AWS Identity and Access Management(IAM)权限问题
  • 实例的资源利用率高

如果您无法连接到会话管理器,则执行适用于您用例的故障排除步骤。

检查您是否满足 Systems Manager 先决条件

确认该实例显示为托管实例,然后检查是否满足所有会话管理器先决条件。有关详细信息,请参阅为什么我的 EC2 实例未显示为托管节点,或在 Systems Manager 中显示“连接丢失”状态?

解决 AWS KMS 配置问题

查看会话管理器错误消息,确定问题类型。然后,执行以下故障排除步骤来解决问题。

错误: “启动握手时遇到错误。握手超时。请确保您使用的是最新版本的会话管理器插件”

AWS Key Management System(AWS KMS)加密已在会话管理器首选项中激活,并且该实例无法访问 AWS KMS 端点。

运行以下命令,检查与 AWS KMS 端点的连接:

**注意:**将 RegionID 替换为您的 AWS 区域

$ telnet kms.RegionID.amazonaws.com 443

有关更多信息以及连接到 AWS KMS 端点的说明,请参阅通过 VPC 端点连接到 AWS KMS

错误: “启动握手时遇到错误。获取数据密钥失败: 无法检索数据密钥,解密数据密钥时出错 AccessDeniedException”

确认实例配置文件或用户具有用于加密会话的 AWS KMS 密钥所需的 kms:Decrypt 权限。有关详细信息,请参阅向现有 IAM 角色添加会话管理器权限

错误: “无效的密钥名称:您的会话已终止,原因如下: NotFoundException: 密钥 ID xxxx 无效”

验证 AWS KMS 加密密钥 ARN 是否有效。检查可用的密钥 ARN,确认在会话管理器首选项中指定的 ARN 与其中一个可用的 ARN 相匹配。有关详细信息,请参阅查找密钥 ID 和密钥 ARN

确保 RunAs 用户名有效

错误: “RunAs 用户名无效”

-或-

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

如果为 Linux 实例启用运行方式支持指定的操作系统(OS)用户名无效,则会话管理器失败并出现这些错误。

要解决此问题,请提供有效的操作系统用户名(例如 ubuntu、ec2-user 或 centos)。您可以通过以下方式指定操作系统:

  • 配置会话管理器首选项。
  • 使用 SSMSessionRunAs 的标签密钥和 os-user-account-name 的值标记启动会话的 IAM 用户或角色。
  • 清除为 Linux 实例启用运行方式支持

有关详细信息,请参阅为 Linux 和 macOS 托管节点启用运行方式支持

对启动会话后显示的空白屏幕进行故障排除

如果启动会话管理器会话时屏幕为空白,请参阅启动会话后显示空白屏幕

请参阅其他故障排除步骤

有关更多信息和其他故障排除场景,请参阅如何解决 AWS Systems Manager 会话管理器的问题?

相关信息

会话管理器故障排除

如何通过 AWS Systems Manager 使用 SSH 隧道访问我的私有 VPC 资源?

通过会话管理器允许和控制 SSH 连接的权限

记录会话活动

AWS 官方
AWS 官方已更新 8 个月前