为什么无法使用会话管理器连接到 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 官方已更新 10 个月前