为什么我无法连接到从自定义 AMI 启动的 Amazon EC2 Windows 实例?

2 分钟阅读
0

当我尝试连接到新启动的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例时,收到错误“Password is not available yet.Please wait at least 4 minutes after launching an instance before trying to retrieve the auto-generated password”。四分钟后,我仍然无法连接。

简短描述

当您尝试连接到新启动的 Amazon EC2 Windows 实例时,可能会收到以下错误:

“Password is not available yet.Please wait at least 4 minutes after launching an instance before trying to retrieve the auto-generated password.”

如果在等待四分钟后仍然收到此错误,请验证您是否正确配置了本地管理员帐户的密码。

默认情况下,从公共亚马逊机器映像(AMI)启动的 EC2 Windows 实例使用下列其中一项服务来自动生成管理员密码:

  • EC2Launch:适用于运行 Windows Server 2016 及更高版本的实例
  • EC2Config:适用于运行 Windows Server 2012 R2 及更早版本的实例

**注意:**最佳做法是将管理员密码从生成的默认密码更改为您自己的密码。

从自定义 AMI 启动的实例采用源实例的管理员密码。但是,您可以更改用于创建 AMI 的源实例中管理员账户的默认密码。在这种情况下,新实例会使用相同的密码。要成功连接到新实例,实例的密码必须与管理员密码相匹配。

解决方法

要恢复对新实例的访问,请重置管理员密码。但是,当从自定义 AMI 启动其他实例时,您可能会注意到同样的错误。为避免出现错误,请将 EC2Launch 或 EC2Config 配置为在下次启动的初始化期间自动生成密码。

重要提示:

使用控制台配置 EC2Launch 或 EC2Config

按照以下步骤在下次启动时开启密码生成功能:

  1. 打开 Amazon EC2 控制台
  2. 使用远程桌面协议(RDP)连接到 Windows 实例。
  3. 从 Windows 的开始菜单,完成以下步骤:
    对于 Windows Server 2008 至 Windows Server 2012 R2,打开 EC2ConfigService 设置。然后,选择映像选项卡。
    对于 Windows Server 2016 或更高版本,打开 EC2 启动设置
  4. 对于管理员密码,选择随机
  5. 选择不使用 Sysprep 关闭
  6. 选择
  7. 打开 Amazon EC2 控制台,然后选择实例
  8. 等到实例状态更改为已停止,然后从控制台中选择您的实例。
  9. 选择操作映像创建映像
    对于映像名称,输入名称。
    (可选)对于映像描述,输入描述。
  10. 选择创建映像

从这个新 AMI 启动的所有 EC2 实例都使用密钥来解码密码。
**注意:**当使用 Sysprep 关闭时,Sysprep 会删除唯一信息以标准化 AMI。这样让您能够启动实例的多个副本。有关更多信息,请参阅如何使用 Sysprep 来创建和安装自定义的可重复使用的 Windows AMI?

使用 Windows PowerShell 配置 EC2Launch

在 Windows PowerShell 中,运行以下命令来安排脚本作为 Windows 计划任务运行:

PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule 

**注意:**此选项仅适用于 Windows Server 2016 和 2019 版本。 脚本会在下次启动时运行一次。然后,它会停用这些任务,使它们不再运行。有关更多信息,请参阅配置初始化任务

相关信息

“密码不可用”

使用 EC2Config 服务配置 Windows 实例

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