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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在托管实例上重置密码

您可以在托管实例上重置任何用户的密码。这包括 Amazon Elastic Compute Cloud (Amazon EC2) 实例、本地服务器和虚拟机 (VM),由Amazon Web Services Systems Manager。密码重置功能构建于会话 Manager 基础之上,该功能为Amazon Web Services Systems Manager。您可以使用该功能连接到实例,而无需打开入站端口、维护堡垒主机或管理 SSH 密钥。

这样,当用户忘记了密码或您想要快速更新密码而不与实例进行 RDP 或 SSH 连接时,密码重置选项很有用。

Prerequisites

在可以在实例上重置密码之前,必须满足以下要求:

  • 要更改的密码的实例必须为 Systems Manager 托管实例。这意味着 SSM 代理已安装在实例上。(更改密码需要 SSM 代理版本 2.3.668.0 或更高版本。) 有关安装或更新 SSM 代理的信息,请参阅。使用 SSM 代理

  • 密码重置功能使用为您的账户设置的 Session Manager 配置连接到该实例。因此,必须已在当前Amazon Web Services 区域。有关更多信息,请参阅 设置会话管理器

    注意

    仅为高级实例套餐提供对本地服务器的会话 Manager 支持。有关信息,请参阅 启用高级实例套餐

  • 更改密码的 Amazon 用户必须对该实例具有 ssm:SendCommand 权限。有关信息,请参阅 基于实例标签限制 Run Command 访问

限制访问

您可以限制用户重置特定实例的密码的能力。这是通过使用基于身份的策略来完成的会话管理器ssm:StartSessionAWS-PasswordResetSSM 文档。有关更多信息,请参阅 。控制用户会话对实例的访问

加密数据

您必须启用Amazon Key Management Service(Amazon KMS) 端到端加密,以便对托管实例使用密码重置选项。有关更多信息,请参阅 启用会话数据 KMS 密钥加密(控制台)

在托管实例上重置密码

您可以使用 Systems Manager 在 Systems Manager 托管实例上重置密码队列管理控制台或Amazon命令行界面 (AmazonCLI)。

在托管实例上更改密码(控制台)

  1. 打开Amazon Web Services Systems Manager控制台https://console.aws.amazon.com/systems-manager/

  2. 在导航窗格中,选择队列管理

    -或者-

    如果Amazon Web Services Systems Manager首先打开主页,选择菜单图标( )打开导航窗格中的,然后选择队列管理在导航窗格中。

  3. 选择需要新密码的实例旁边的按钮。

  4. 实例操作菜单中,选择Reset password

  5. 适用于用户名中,输入要更改其密码的用户的名称。这可以是任何在实例上具有账户的用户名。

  6. 选择 Submit

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

    注意

    如果实例上的 SSM Agent 版本不支持密码重置,系统将提示您使用 Run Command (Amazon Web Services Systems Manager。

要在托管实例上重置密码 (AmazonCLI)

  1. 要在托管实例上重置用户的密码,请运行以下命令。

    注意

    使用AmazonCLI 重置密码,则必须在本地计算机上安装会话 Manager 插件。有关信息,请参阅 (可选)为AmazonCLI

    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"

    instance-id表示配置为与 Systems Manager 及其会话管理器功能配合使用的实例的 ID。

    user-name 表示您想要在实例上重置其密码的用户的名称。

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

排除在托管实例上重置密码的问题

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

实例不可用

问题:您希望重置 EC2 实例的密码托管实例控制台页面,但实例不在列表中。

  • 解决方案:要连接到的实例可能未配置为与 Systems Manager 服务配合使用。要使 EC2 实例可以与 Systems Manager 配合使用,必须向该实例附加一个 AWS Identity and Access Management (IAM) 实例配置文件,该配置文件授予 Systems Manager 对您的实例执行操作的权限。想要了解有关信息,请参阅为 Systems Manager 创建 IAM 实例配置文件。要使用已激活与 Systems Manager 配合使用的本地服务器或虚拟机 (VM),必须创建一个 IAM 服务角色,该角色授予 Systems Manager 在您的计算机上执行操作的权限。想要了解有关信息,请参阅为混合环境创建 IAM 服务角色。(仅为高级实例套餐提供对本地服务器和 VM 的会话管理器支持。 想要了解有关信息,请参阅启用高级实例套餐。)

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

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

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

    每次在 Systems Manager 中添加新功能或者对现有功能进行了更新时,将发布更新版本的 SSM Agent。如果较早版本的代理正在实例上运行,有些 SSM 代理过程可能会失败。因此,我们建议您自动完成确保 SSM Agent 在实例上保持为最新的过程。有关信息,请参阅 自动更新 SSM 代理。订阅SSM 代理发布说明页面以获取有关 SSM 代理更新的通知。

密码重置选项不会显示(AmazonCLI)

问题:您使用成功连接到实例AmazonCLIstart-session命令。您指定了 SSM 文档AWS-PasswordReset并提供了有效的用户名,但不显示更改密码的提示。

  • 解决方案:实例上的 SSM 代理版本不是最新版本。需要版本 2.3.668.0 或更高版本才能执行密码重置。

    每次在 Systems Manager 中添加新功能或者对现有功能进行了更新时,将发布更新版本的 SSM Agent。如果较早版本的代理正在实例上运行,有些 SSM 代理过程可能会失败。因此,我们建议您自动完成确保 SSM Agent 在实例上保持为最新的过程。有关信息,请参阅 自动更新 SSM 代理。订阅SSM 代理发布说明页面以获取有关 SSM 代理更新的通知。

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

问题:您尝试连接到某个实例以更改其密码,但收到错误消息,说明您未获授权运行ssm:SendCommand在实例上。

会话管理器错误消息

问题:您收到与会话管理器相关的错误消息。