在托管式节点上重置密码 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在托管式节点上重置密码

您可以在托管式节点上重置任何用户的密码。这包括 Amazon Elastic Compute Cloud (Amazon EC2) 实例;Amazon IoT Greengrass 核心设备;以及由 Amazon Systems Manager 管理的本地服务器、边缘设备和虚拟机 (VM)。密码重置功能构建于 Amazon Systems Manager 的功能 Session Manager 的基础之上。您可以使用此功能连接到托管式节点,而无需打开入站端口、维护堡垒主机或管理 SSH 密钥。

当用户忘记密码或者您想快速更新密码而不与托管式节点建立 RDP 或 SSH 连接时,密码重置很有用。

先决条件

必须满足以下要求,才能在托管式节点上重置密码:

  • 要在其上更改密码的托管式节点必须是 Systems Manager 托管式节点。此外,必须在托管式节点上安装 SSM Agent 版本 2.3.668.0 或更高版本。有关安装或更新 SSM Agent 的信息,请参阅 使用 SSM Agent

  • 密码重置功能使用为您的账户设置的 Session Manager 配置连接到托管式节点。因此,必须已在当前 Amazon Web Services 区域中为您的账户完成使用 Session Manager 的先决条件。有关更多信息,请参阅 设置 Session Manager

    注意

    仅为高级实例套餐提供对本地节点的 Session Manager 支持。有关更多信息,请参阅 打开高级实例套餐

  • 更改密码的 Amazon 用户必须对托管式节点具有 ssm:SendCommand 权限。有关更多信息,请参阅 根据标签限制 Run Command 访问

限制访问

您可以限制用户重置特定托管式节点的密码的能力。通过将基于身份的策略与 AWS-PasswordReset SSM 文档结合起来用于 Session Manager ssm:StartSession 操作,可以实现这一目的。有关更多信息,请参阅控制用户会话对实例的访问权限

加密数据

可为 Session Manager 数据打开 Amazon Key Management Service (Amazon KMS) 完全加密,以将密码重置选项用于托管式节点。有关更多信息,请参阅 启用会话数据的 KMS 密钥加密(控制台)

在托管式节点上重置密码

您可以使用 Systems Manager Fleet Manager 控制台或 Amazon Command Line Interface (Amazon CLI),在 Systems Manager 托管式节点上重置密码。

在托管式节点(控制台)上更改密码
  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

  2. 在导航窗格中,选择 Fleet Manager

    -或者-

    如果首先打开 Amazon Systems Manager 主页,选择菜单图标 ( 
    The menu icon
  ) 以打开导航窗格,然后在导航窗格中选择 Fleet Manager

  3. 选择需要新密码的节点旁边的按钮。

  4. 选择实例操作,重置密码

  5. 对于 User name (用户名),请输入您要更改其密码的用户的名称。这可以是任何在节点上具有账户的用户名。

  6. 选择提交

  7. 按照输入新密码命令窗口中的提示指定新密码。

    注意

    如果托管式节点上的 SSM Agent 版本不支持密码重置,系统将提示您使用 Amazon Systems Manager 的功能 Run Command 安装受支持的版本。

在托管式节点 (Amazon CLI) 上重置密码
  1. 要在托管式节点上重置用户的密码,请运行以下命令。将每个示例资源占位符替换为您自己的信息。

    注意

    要使用 Amazon CLI 重置密码,Session Manager 插件必须已安装到您的本地计算机上。有关信息,请参阅为 Amazon CLI 安装 Session Manager 插件

    Linux & macOS
    aws ssm start-session \ --target instance-id \ --document-name "AWS-PasswordReset" \ --parameters '{"username": ["user-name"]}'
    Windows
    aws ssm start-session ^ --target instance-id ^ --document-name "AWS-PasswordReset" ^ --parameters username="user-name"
  2. 按照输入新密码命令窗口中的提示指定新密码。

排除在托管式节点上重置密码的问题

通过确保您已完成密码重置先决条件,可以解决许多密码重置问题。对于其他问题,请使用以下信息来帮助您解决密码重置问题。

托管式节点不可用

问题:您希望在 Managed instances(托管式实例)控制台页面上重置托管式节点的密码,但该节点不在列表中。

  • 解决方案:可能未为 Systems Manager 配置您要连接的托管式节点。要将 Amazon EC2 实例与 Systems Manager 结合使用,必须将 Amazon Identity and Access Management (IAM) 实例配置文件附加到该实例,该配置文件将向 Systems Manager 授予在您的实例上执行操作的权限。有关信息,请参阅为 Systems Manager 配置实例权限

    要将非 EC2 计算机与 Systems Manager 结合使用,请创建一个 IAM 服务角色,该角色将向 Systems Manager 授予在您的托管式节点上执行操作的权限。有关更多信息,请参阅为混合环境创建 IAM 服务角色。(仅为高级实例套餐提供对本地服务器和 VM 的 Session Manager 支持。有关更多信息,请参阅 打开高级实例套餐。)

SSM Agent 不是最新版本(控制台)

问题:一条消息报告 SSM Agent 的此版本不支持密码重置功能。

  • 解决方案:执行密码重置要求使用 SSM Agent 版本 2.3.668.0 或更高版本。在控制台中,您可以通过选择 Update SSM Agent(更新 )来更新托管式节点上的代理。

    如果有新功能添加至 Systems Manager 或者对现有功能进行了更新,则将发布 SSM Agent 的更新版本。不能使用代理的最新版本可能会阻止托管式节点使用各种 Systems Manager 功能和特性。因此,我们建议您自动完成确保机器上的 SSM Agent 为最新的过程。有关信息,请参阅自动更新到 SSM Agent。要获得有关 SSM Agent 更新的通知,请在 GitHub 上订阅 SSM Agent 发布说明页面。

未提供密码重置选项 (Amazon CLI)

问题:您使用 Amazon CLI start-session 命令成功连接到托管式节点。您指定了 SSM 文档 AWS-PasswordReset 并提供了有效的用户名,但不显示更改密码的提示。

  • 解决方案:托管式节点上的 SSM Agent 版本不是最新版本。需要版本 2.3.668.0 或更高版本才能执行密码重置。

    如果有新功能添加至 Systems Manager 或者对现有功能进行了更新,则将发布 SSM Agent 的更新版本。不能使用代理的最新版本可能会阻止托管式节点使用各种 Systems Manager 功能和特性。因此,我们建议您自动完成确保机器上的 SSM Agent 为最新的过程。有关信息,请参阅自动更新到 SSM Agent。要获得有关 SSM Agent 更新的通知,请在 GitHub 上订阅 SSM Agent 发布说明页面。

未获授权,无法运行 ssm:SendCommand

问题:您尝试连接到托管式节点以更改密码,但收到错误消息,说明您未获授权在托管式节点上运行 ssm:SendCommand

Session Manager 错误消息

问题:您收到与 Session Manager 相关的错误消息。