
# 创建密钥对
为了提升安全性，建议用户在登录弹性云服务器时采用密钥对进行身份认证。用户可以新建一个密钥对，在登录弹性云服务器时进行鉴权。通过在华为云密码安全中心（DEW）中创建并使用密钥对，用户能够有效增强登录安全，防止未经访问及潜在安全威胁。密钥对认证相比传统密码认证更具安全性，可有效避免暴力破解攻击，保障数据和资源的安全。此外，密钥对的使用符合多数行业标准及合规要求，进一步提升了系统整体安全性。
![](https://support.huaweicloud.com/usermanual-dew/public_sys-resources/note_3.0-zh-cn.png)
如果用户已有密钥对，可重复使用，无需多次创建。
#### 创建密钥对的方式
创建密钥对的方式如[表1]所示。
 表1创建密钥对的方式 
| 创建密钥对的方式                                                                                                                                                                                 | 区别                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|
| [通过管理控制台创建密钥对]                                                                                                                                       | - 公钥保存在华为云中，私钥可以由用户下载保存在本地，也可以将私钥托管在华为云中，由华为云统一管理。华为云采用KMS提供的加密密钥对私钥进行加密，确保托管私钥的安全存储与访问。  - 通过管理控制台创建的密钥对支持的加解密算法为： - SSH-ED25519  - ECDSA-SHA2-NISTP256  - ECDSA-SHA2-NISTP384  - ECDSA-SHA2-NISTP521  - SSH_RSA有效长度为：2048，3072，4096                                                   |
| [通过PuTTYgen工具创建密钥对] 说明： PuTTYgen是一款公钥私钥生成工具，获取路径：<https://www.putty.org/>。                | 公钥和私钥均保存在用户本地。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| [导入密钥对] 说明： 如果多个IAM用户需要使用相同的密钥对时，用户可以先通过其他工具（例如，PuTTYgen工具）创建密钥对，然后分别在两个IAM用户的资源中导入您创建的密钥对。 | - 通过外部导入的SSH密钥对支持的加解密算法为： - SSH-DSS（不推荐）  - SSH-ED25519  - ECDSA-SHA2-NISTP256  - ECDSA-SHA2-NISTP384  - ECDSA-SHA2-NISTP521  - SSH_RSA有效长度为：2048，3072，4096    - 导入的私钥支持PKCS8格式，如果使用PKCS1格式则需要进行转换。   |
   
#### 前提条件
**对于账号密钥对** ：
- 首次创建时，需要具有Tenant Administrator系统角色的用户才能创建。
- 账号密钥对可以由本账号下的多个IAM用户使用。
 
**对于私有密钥对** ：IAM用户通过管理控制台创建的私有密钥对，仅能自己使用。如果多个IAM用户需要使用相同的密钥对，可以将私有密钥对升级为账号密钥对，详见[将私有密钥对升级为账号密钥对](https://support.huaweicloud.com/usermanual-dew/dew_01_0100.html)。
#### 创建密钥对
KPS支持三种方式创建密钥对，可根据需要进行选择：
- [通过管理控制台创建密钥对]
  
  1. [登录DEW服务控制台](https://console.huaweicloud.com/dew/?locale=zh-cn#/dew/)。
  
  2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-dew/zh-cn_image_0000002294275497.png)，选择区域或项目。
  
  3. 在左侧导航树中，选择"密钥对管理"，进入"密钥对管理"页面。
  
  4. 默认进入"账号密钥对"页签，根据用户使用需求，自主选择创建私有密钥对或者账号密钥对。
  
  5. 单击"创建密钥对"，进入"创建密钥对"页面，输入密钥对名称，如[图1]所示。
     
     图1创建密钥对
     ![](https://support.huaweicloud.com/usermanual-dew/zh-cn_image_0000002525033044.png "点击放大")
     
     
     
  
  6. （可选）选择"密钥对类型"。 
     ![](https://support.huaweicloud.com/usermanual-dew/public_sys-resources/note_3.0-zh-cn.png)
     - 创建私有密钥对时，必须保证该账号下已有账号密钥对（创建的账号密钥对或私有密钥对升级的账号密钥对），该参数才会生效。否则，该参数无效，默认只会创建SSH_RSA_2048的密钥对。
     
     - 当前仅RSA算法支持windows系统。
      
     
     
  
  7. （可选）用户可根据自己的需要为密钥对添加标签，输入"标签键"和"标签值"。 
     ![](https://support.huaweicloud.com/usermanual-dew/public_sys-resources/note_3.0-zh-cn.png)
     - 最多可以给单个密钥对添加20个标签。
     
     - 私有密钥对不支持添加标签。
      
     
     
  
  8. 如果需要托管私钥，请阅读并勾选"我同意将密钥对私钥托管"。在"KMS加密"中选择加密密钥。如果不需要托管私钥，请跳过此步骤。 
     - "列表选择"：适用于使用本账号的密钥或共享密钥的场景。
       - "默认密钥"：KPS采用KMS提供的加密密钥对私钥进行加密，KMS为KPS提供的默认密钥为"kps/default"。
       
       - "自定义密钥"：您也可以通过KMS平台创建自定义密钥来对私钥加密，具体操作请参见[创建密钥](https://support.huaweicloud.com/usermanual-dew/dew_01_0178.html)。如果想使用RAM创建的共享密钥，确认接受共享后，可以在KMS加密的下拉框最下方选择共享密钥，密钥名称后会显示来自共享。
        
     
     - "手工输入"：适用于使用授权的密钥场景，仅支持对称算法密钥ID，请勿输入非对称算法密钥ID。创建授权后，用户可以通过切换手工输入方式，输入密钥ID后使用被授权密钥加密。授权密钥操作可参见[创建授权](https://support.huaweicloud.com/usermanual-dew/dew_01_0096.html)。
     
     
     图2托管私钥
     ![](https://support.huaweicloud.com/usermanual-dew/zh-cn_image_0000002294275477.png "点击放大")
     
     
     
  
  9. 请阅读《密钥对管理服务免责声明》并勾选"我已阅读并同意《密钥对管理服务免责声明》"。
  
  10. 单击"确定"，浏览器自动执行下载任务，私钥文件将自动下载到本地。 
      ![](https://support.huaweicloud.com/usermanual-dew/public_sys-resources/notice_3.0-zh-cn.png)
      - 如果用户没有进行私钥托管，为保证安全，私钥只能下载一次，请妥善保管。如果不慎遗失，您可以通过重置密码或重置密钥对的方式，重新给弹性云服务器绑定密钥对，具体可参照[解绑密钥对后用户无法登录ECS时如何处理？](https://support.huaweicloud.com/dew_faq/dew_01_0084.html)进行处理。
      
      - 如果用户已授权华为云托管私钥，可根据需要将托管的私钥导出使用。
       
      
      
   
- [通过PuTTYgen工具创建密钥对]
  
  1. 生成公钥和私钥文件，双击"PUTTYGEN.exe"，打开"PuTTY Key Generator"。如[图3]所示。
     
     图3PuTTY Key Generator   
     ![](https://support.huaweicloud.com/usermanual-dew/zh-cn_image_0000002294322441.png "点击放大")
     
     
  
  2. 请根据[表2]设置参数。
     
      表2生成密钥对参数说明 
     | 参数                                | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     |:---|:---|
     | Type of key to generate           | - 通过外部导入的SSH密钥对支持的加解密算法为： - SSH-DSS（不推荐）  - SSH-ED25519  - ECDSA-SHA2-NISTP256  - ECDSA-SHA2-NISTP384  - ECDSA-SHA2-NISTP521  - SSH_RSA有效长度为：2048，3072，4096    - 导入的私钥支持PKCS8格式，如果使用PKCS1格式则需要进行转换。   |
     | Number of bits in a generated key | - 通过外部导入的SSH密钥对支持的加解密算法为： - SSH-DSS（不推荐）  - SSH-ED25519  - ECDSA-SHA2-NISTP256  - ECDSA-SHA2-NISTP384  - ECDSA-SHA2-NISTP521  - SSH_RSA有效长度为：2048，3072，4096    - 导入的私钥支持PKCS8格式，如果使用PKCS1格式则需要进行转换。   |
        
     
     
  
  3. 单击"Generate"，生成一个公钥和一个私钥，如[图4]所示。
     
     蓝框中标记的内容为生成的公钥内容。
     图4生成公钥和私钥文件   
     ![](https://support.huaweicloud.com/usermanual-dew/zh-cn_image_0000002294322445.png "点击放大")
     
     
  
  4. 复制蓝框中的公钥内容，并将其粘贴在文本文档中，以".txt"格式保存在本地。 
     ![](https://support.huaweicloud.com/usermanual-dew/public_sys-resources/notice_3.0-zh-cn.png)
     请勿直接单击"Save public key"保存公钥文件。如果用户使用"Save public key"保存公钥，公钥内容的格式会发生变化，不能直接导入管理控制台使用。
     
     
  
  5. 根据以下方式，选择保存私钥的格式，可保存为".ppk"或者".pem"格式的私钥。 
     ![](https://support.huaweicloud.com/usermanual-dew/public_sys-resources/notice_3.0-zh-cn.png)
     为保证安全，私钥只能下载一次，请妥善保管。
     表3私钥文件格式 
     | 私钥文件格式   | 私钥使用场景                                                                                                                                                                                               | 保存方法                                                                                                                                                                                                                                                                                                  |
     |:---|:---|:---|
     | ".pem"格式 | - 使用**Xshell**工具登录Linux操作系统云服务器  - 将私钥托管在管理控制台   | 1. 选择"Conversions \> Export OpenSSH key"。  2. 保存私钥到本地。例如：kp-123.pem。                                                                             |
     | ".pem"格式 | 获取Windows操作系统云服务器的密码                                                                                                                                                                                 | 1. 选择"Conversions \> Export OpenSSH key"。 说明： 请勿填写"Key passphrase"信息，否则会导致获取密码失败。   2. 保存私钥到本地。例如：kp-123.pem。   |
     | ".ppk"   | 使用**PuTTY**工具登录Linux操作系统云服务器                                                                                                                                                                         | 1. 在"PuTTY Key Generator"界面，选择"File \> Save private key"。  2. 保存私钥到本地。例如：kp-123.ppk。                                                            |
        
     根据需要正确保存公钥和私钥文件后，可将密钥对导入管理控制台使用。
     
     
   
- [导入密钥对]
  
  确保已有IAM用户下没有相同名称的私有密钥对，如果已经创建了相同名称的私有密钥对，导入账号密钥对时会提示密钥对名称已存在。导入的私钥支持PKCS8格式，如果使用PKCS1格式则需要进行转换。
  1. [登录DEW服务控制台](https://console.huaweicloud.com/dew/?locale=zh-cn#/dew/)。
  
  2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-dew/zh-cn_image_0000001346506590.png)，选择区域或项目。
  
  3. 在左侧导航树中，选择"密钥对管理"，进入"密钥对管理"页面。
  
  4. 默认进入"账号密钥对"页签，根据用户使用需求，自主选择导入私有密钥对或者账号密钥对。
  
  5. 单击"导入密钥对"，在弹出"导入密钥对"对话框中，单击"导入公钥"，导入公钥文件，如[图5]所示。
     
     图5导入密钥对
     ![](https://support.huaweicloud.com/usermanual-dew/zh-cn_image_0000002343140841.png "点击放大")
     
     ![](https://support.huaweicloud.com/usermanual-dew/public_sys-resources/note_3.0-zh-cn.png)
     - 当前支持批量导入，最多一次支持导入10个公钥。
     
     - 用户可自定义导入密钥对的名称。
     
     - 如果提示名称已存在，是由于其他IAM用户创建了同名的私有密钥对，需修改密钥对名称。
      
     
     
  
  6. 如果需要托管私钥，请确认并勾选"我同意将密钥对私钥托管"，如[图 托管私钥]所示。如果不需要托管私钥，请跳过此步骤。
     
     图6托管私钥
     ![](https://support.huaweicloud.com/usermanual-dew/zh-cn_image_0000002278602686.png "点击放大")
     1. 将私钥内容复制并粘贴至"私钥内容"文本框中。
     
     2. 在"KMS加密"下拉列表中选择加密密钥。
        - "列表选择"：适用于使用本账号的密钥或共享密钥的场景。
          - "默认密钥"：KPS采用KMS提供的加密密钥对私钥进行加密，KMS为KPS提供的默认密钥为"kps/default"。
          
          - "自定义密钥"：您也可以通过KMS平台创建自定义密钥来对私钥加密，具体操作请参见[创建密钥](https://support.huaweicloud.com/usermanual-dew/dew_01_0178.html)。如果想使用RAM创建的共享密钥，确认接受共享后，可以在KMS加密的下拉框最下方选择共享密钥，密钥名称后会显示来自共享。
           
        
        - "手工输入"：适用于使用授权的密钥场景，仅支持对称算法密钥ID，请勿输入非对称算法密钥ID。创建授权后，用户可以通过切换手工输入方式，输入密钥ID后使用被授权密钥加密。授权密钥操作可参见[创建授权](https://support.huaweicloud.com/usermanual-dew/dew_01_0096.html)。
         
     
     
     
     
  
  7. 请阅读《密钥对管理服务免责声明》后，勾选"我已阅读并同意《密钥对管理服务免责声明》"。
  
  8. 单击"确定"，导入密钥对。
   
#### 删除密钥对
如果创建或导入的密钥对不再使用时，可以删除密钥对。
- 执行删除操作后，密钥对将被彻底删除，不可恢复，请谨慎操作。
- 如果用户已导入私钥，执行删除操作时，会将该私钥一起删除。
- 如果用户删除控制台上已配置到弹性云服务器的公钥，而用户本地已保存私钥，用户可正常使用私钥登录弹性云服务器，删除操作对弹性云服务器的登录没有任何影响。
1. 在左侧导航树中，选择"密钥对管理"，进入"密钥对管理"页面。
2. 在目标密钥对所在行，单击"删除"。 
   如果您已经将密钥对升级为账号密钥对，请在"账号密钥对"列表中，执行以下操作。
   
   
3. 如果未开启删除验证，在确认删除提示框中输入"DELETE"后，单击"确定"，完成删除操作。 
   如果开启删除验证，选择验证方式后，单击"获取验证码"，在验证码对话框中输入获取的验证码，单击"确定"，完成删除操作。
   
   
 
#### 常见问题
更多创建密钥对相关FAQ，请参见[密钥对管理常见问题](https://support.huaweicloud.com/dew_faq/dew_01_0127.html)。
