AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在托管实例上重置密码

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

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

先决条件

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

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

  • 密码重置功能使用为您的账户设置的 AWS Session Manager 配置连接到该实例。因此,必须已在当前区域中为您的账户完成使用 Session Manager 的先决条件。有关更多信息,请参阅 Session Manager 入门

    注意

    仅为 advanced-instances 层提供对本地服务器的 Session Manager 支持。有关信息,请参阅(可选)启用 Advanced-Instances 层

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

限制访问

您可以限制用户重置特定实例的密码的能力。为此,将基于身份的策略与 Session Manager ssm:StartSession 操作以及 AWS-PasswordReset SSM 文档结合使用。有关更多信息,请参阅 控制用户会话对实例的访问

加密数据

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

在托管实例上重置密码

您可以使用 AWS Systems Manager 托管实例控制台或 AWS CLI 在 Systems Manager 托管实例上重置密码。

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

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择托管实例

    -或者-

    如果 AWS Systems Manager 主页首先打开,请选择菜单图标 ( ) 以打开导航窗格,然后选择 托管实例

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

  4. 操作菜单中,选择重置密码

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

  6. 选择 Submit

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

    注意

    如果实例上的 SSM 代理 版本不支持密码重置,系统将提示您使用 Run Command 安装支持的版本。

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

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

    注意

    要使用 AWS CLI 重置密码,Session Manager plugin 必须已安装到您的本地计算机上。有关信息,请参阅 (可选)为 AWS CLI 安装 Session Manager Plugin

    aws ssm start-session --target instance-id --document-name "AWS-PasswordReset" --parameters "{"username": "user-name"}"

    instance-id 表示配置为与 Systems Manager 及其 Session Manager 功能配合使用的实例的 ID。

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

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

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

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

实例不可用

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

  • 解决方案:要连接到的实例可能未配置为与 AWS Systems Manager 服务配合使用。要使某个 Amazon EC2 实例可以与 Systems Manager 配合使用,必须向该实例附加一个 IAM 实例配置文件,以便为 Systems Manager 提供对实例执行操作的权限。有关信息,请参阅为 Systems Manager 创建 IAM 实例配置文件。要使用已激活与 Systems Manager 配合使用的本地服务器或虚拟机 (VM),必须创建一个 IAM 服务角色,该角色授予 Systems Manager 在您的计算机上执行操作的权限。有关信息,请参阅为混合环境创建 IAM 服务角色。(Session Manager 仅为 advanced-instances 层提供对本地服务器和 VM 的支持。有关信息,请参阅(可选)启用 Advanced-Instances 层。)

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

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

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

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

密码重置选项不显示 (CLI)

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

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

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

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

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

Session Manager 错误消息

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