
# 获取Windows ECS密码
#### 操作场景
登录Windows操作系统的弹性云服务器时，需使用密码方式登录。如果您创建弹性云服务器时，使用密钥对作为登录凭证，则可以根据创建弹性云服务器时使用的私钥文件，获取该弹性云服务器初始安装时系统生成的管理员密码（Administrator账户或Cloudbase-init设置的账户）。该密码为随机密码，安全性高，请放心使用。
请根据您的个人需求，通过管理控制台或API方式获取Windows弹性云服务器的初始密码，获取方法请参见本节内容。
#### 前提条件
已获取创建弹性云服务器时使用的私钥文件（.pem文件）。
私钥文件（.pem文件）与创建弹性云服务器时选择的密钥对有关，在创建密钥对时生成。密钥对的创建和使用方法，请参见[密钥对使用场景介绍](https://support.huaweicloud.com/usermanual-ecs/ecs_13_0201.html)。
若私钥文件不慎遗失，可以通过[重置密钥对](https://support.huaweicloud.com/usermanual-dew/dew_01_0071.html#dew_01_0071__section467441313100)的方式，重新为弹性云服务器绑定密钥对。若已授权托管私钥，可根据需要将托管的私钥导出使用，详细内容请参见[导出私钥](https://support.huaweicloud.com/usermanual-dew/dew_01_0081.html#dew_01_0081__section10278335124117)。
#### 约束与限制
- 为安全起见，建议用户获取初始密码后，执行清除密码操作，清除系统中记录的初始密码信息。 该操作不会影响弹性云服务器的正常登录与运行。清除密码后，系统不能恢复获取密码功能，因此，请在执行清除密码操作前，记录弹性云服务器密码信息。详细信息请参见[清除Windows弹性云服务器的密码](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0031107267.html)。
  
- 获取的弹性云服务器的私钥文件必须是".pem"格式。 如果是".ppk"格式文件，需要将私钥文件转化为".pem"格式，详细内容请参见[如何转换私钥文件格式？](https://support.huaweicloud.com/dew_faq/dew_01_0099.html)
  
 
#### 通过管理控制台获取密码
1. 获取创建弹性云服务器时使用的私钥文件（.pem文件）。
2. 登录[ECS控制台](https://console.huaweicloud.com/ecm/?#/ecs/manager/vmList)，进入弹性云服务器列表页面。
3. 在弹性云服务器列表，选择待获取密码的弹性云服务器。
4. 在"操作"列，单击"更多 \> 密码管理 \> 获取密码"。
   图1获取密码   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000001961871601.png)
   ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
   如果不显示"获取密码"，可能是由于弹性云服务器未安装一键式重置密码插件。
   您可以参考[重置Windows云服务器密码（未安装重置密码插件）](https://support.huaweicloud.com/ecs_faq/zh-cn_topic_0179487873.html)为弹性云服务器重置密码。
   
5. 通过私钥文件获取密码，获取方法有如下两种：
   - 单击"选择文件"，从本地上传私钥文件。
   
   - 将私钥文件内容复制粘贴在空白框中。
    
6. 单击"获取密码"，获取随机密码。
 
#### 通过API方式获取密码
1. 获取创建弹性云服务器时使用的私钥文件（.pem文件）。
2. 设置调用接口的环境。
3. 具体方法请参见《弹性云服务器接口参考》的"接口调用方法"。
4. 获取密文密码。
   调用获取密码的接口，获取密钥的公钥加密后的密文密码。该密文密码是通过RSA算法加密的。
   其中，URI格式为"GET /v1/{project_id}/cloudservers/{server_id}/os-server-password"。
   ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
   调用接口的具体方法请参见《弹性云服务器接口参考》的[获取云服务器密码](https://support.huaweicloud.com/api-ecs/ecs_02_1104.html)章节。
   
5. 解密密文密码。 通过创建云服务器时使用的密钥的私钥文件对[4]中获取的密文密码进行解密。
   1. 使用OpenSSL工具，执行以下命令，将密文密码转换为.key -nocrypt格式。 **openssl pkcs8 -topk8 -inform PEM -outform DER -in *rsa_pem.key* -out *pkcs8_der.key* -nocrypt**
      
   
   2. 调用Java类库org.bouncycastle.jce.provider.BouncyCastleProvider，使用密钥文件，编写代码解密密文。
    
 
#### 后续处理
如果已经重置密码，请使用修改后的密码登录Windows ECS。
若未重置密码，请使用本章节获取的系统初始密码登录Windows ECS。
登录方式请参考[登录Windows ECS](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0125.html)。
