# 创建及导入SSH密钥对(V2)
#### 功能介绍
创建SSH密钥对，或把公钥导入华为云中，生成SSH密钥对。
创建SSH密钥对成功后，请把响应数据中的私钥内容保存到本地文件，用户使用该私钥登录云服务器。为保证云服务器安全，私钥数据只能下载一次，请妥善保管。
#### URI
- URI格式 POST /v2/{project_id}/os-keypairs
  
- 参数说明
  表1参数说明 
  | 参数          | 是否必选 | 参数类型    | 描述    |
  |:---|:---|:---|:---|
  | project_id | 是    | String | 项目ID。 |
     
  
 
#### 请求消息
![](https://support.huaweicloud.com/api-dew/public_sys-resources/note_3.0-zh-cn.png)
创建SSH密钥对时，只需要提交SSH密钥对的name属性。导入SSH密钥对时，才需要提交public_key属性。
表2请求参数 
| 参数                        | 是否必选                | 参数类型                    | 描述                                                                                               |
|:---|:---|:---|:---|
| keypair | 是 | Object | 创建或导入的SSH密钥对的信息，详情请参见[表3]。 |
   
 表3keypair字段数据结构说明 
| 参数                          | 是否必选                     | 参数类型                      | 描述                                                                                                                                                                           |
|:---|:---|:---|:---|
| public_key | 否      | String  | 导入公钥的字符串信息。                                                                                                                                               |
| type   | 否    | String | SSH密钥对的类型，值为ssh或x509。                                                                                                                                     |
| name       | 是     | String  | SSH密钥对的名称。 新创建的密钥对名称不能和已有密钥对的名称相同。 SSH密钥对名称由英文字母、数字、下划线、中划线组成，长度不能超过64个字节。 |
| user_id   | 否 | String | SSH密钥对的用户ID。                                                                                                                                              |
   
#### 响应消息
表4响应参数 
| 参数                         | 是否必选 | 参数类型  | 描述                                                                                        |
|:---|:---|:---|:---|
| keypair | 是  | Object | SSH密钥对的信息，详情请参见[表5]。 |
   
 表5keypair字段数据结构说明 
| 参数                             | 是否必选 | 参数类型                       | 描述                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| fingerprint  | 是     | String  | SSH密钥对对应的指纹信息。                                                                                                                                                                                                                                                                                                                                     |
| name         | 是     | String  | SSH密钥对的名称。                                                                                                                                                                                                                                                                                                                                         |
| public_key   | 是   | String  | SSH密钥对对应的publicKey信息。                                                                                                                                                                                                                                                                                                                              |
| private_key | 否    | String | SSH密钥对对应的privateKey信息。 - 创建SSH密钥对时，响应中包括private_key的信息。  - 导入SSH密钥对时，响应中不包括private_key的信息。   |
| user_id      | 是    | String  | SSH密钥对所属的用户ID。                                                                                                                                                                                                                                                                                                                                      |
   
#### 示例
- 创建SSH密钥对
  - 创建SSH密钥对请求样例
    ```
    {     "keypair": {             
              "type": "ssh",           
              "name": "demo"              
           }
    }
    ```
    
  
  
  
  - 创建SSH密钥对响应样例
    ```
    {
        "keypair": {
            "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyNtFZM04PFxERvZU5OBKTKr3mtRZABe5/+zX81lTgDFCBfq6OXia47M4qXOa3ciBEKKZF+fMfs8U2UNB9aK1R/uORsoEFtxSgZnWG6p4Ct1vnrqwDD934VaDFPEn+h3JeAfvTB+Ag1YQ9zh9uYyE9Z3qZcC9+Ui93BDGdBtQeav4odxdwXcr2mT2jJV0nsocV0O4UcKM8BaIm8eqbcroZEkyxqT3mUoSbmGx1hrngjBsP1ufgwJ6D85LFGQC1SjIOLvsR9i6v41BaLF8/kygvKOh2HlNVSMx38g52sTqoQ/xb3f8vR1VDXliAuD0frrG2Fy5wK4rOAnjuX9nh0bC9 Generated-by-Nova\n",
            "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAsjbRWTNODxcREb2VOTgSkyq95rUWQAXuf/s1/NZU4AxQgX6u\njl4muOzOKlzmt3IgRCimRfnzH7PFNlDQfWitUf7jkbKBBbcUoGZ1huqeArdb566s\nAw/d+FWgxTxJ/odyXgH70wfgINWEPc4fbmMhPWd6mXAvflIvdwQxnQbUHmr+KHcX\ncF3K9pk9oyVdJ7KHFdDuFHCjPAWiJvHqm3K6GRJMsak95lKEm5hsdYa54IwbD9bn\n4MCeg/OSxRkAtUoyDi77EfYur+NQWixfP5MoLyjodh5TVUjMd/IOdrE6qEP8W93/\nL0dVQ15YgLg9H66xthcucCuKzgJ47l/Z4dGwvQIDAQABAoIBAQCdTjXL/rVQLJQs\njKNDNnNu47NsCTvyl0nGPf+Rhb61ZSlKpH9/uyuC38O7MPWVx28jup3J9q7btNrG\n7t6ZU+RpFAvbdyzb1pamXsoupLmEvESrZEsBCOhtY2fdsTG/Md+Ji0a1J6Z2VQG9\nbEviLC4S/VwCRDwnzHOJInKIoJZroZv6SdK+KonQBS0Rq9bZrlvtBUUhaSGjBcJx\nmWKO78ikNOXP/5Yl92SAw2vOYWhZdMZQrkp1EUFMG18Akuj+jC9QKXXfsLYYfzsQ\nIGgpRdf6zYIV84QVMZ7NhQABM5DNmQfxrSIUSdbvOzOJzmShp41tH3sn9d+XS+bS\nLIoyuaQhAoGBAN7tpwgkcKddKI/Lp/CPqjkxP6lfO+xHEXjtnZd1Y//BavPSgq4v\nWuFHgx1sPQK49KcSLZfF6UxkPw0KHBc5R9RkfYBAIdGNwENF2xyoYLLdnUtF4hRq\n1q2DC3oklBZibH2tc6+hQ2aCWSeMvQbIvxTYV70EFzwR5f4O5LIskCm/AoGBAMyn\nA7DOQdvcf4aexSYL4kGp70ERMOCtwr/d+O5RswARoyAQOxp4a7/TyFuGjnlT//bR\nEYacXV1AieIdeJF3PgeUIR1QnUlNYD9Rufs14fs+5idQ7Evn1gvXv0HpBYTY7wNu\nWTrWbsznY0fNIrGT4bQR6QpdvIuR5TBJf6HIAKyDAoGAFhKf3D2HbfraXkqC6V3A\nNAN9Uy7bxwxOXZPha7Ky4QrspRGt4MNNk0q6X7ps3A0mJDi3jPSKoga2+3qJx37j\nbtM4Xe97qb0IUWDkThUZ5fvtbBuSRAVEFlAIXeKrSwAZz+PRtY0ZGFhFrZXQzZAo\n4058eXmjN05qYFpnKIEjEQ8CgYEAwELzW6oaAzR+dfk428p0UB4W0HkXAy0a9efS\nUgpc8Oag6qF09SRGjdunshySQvegU78MCPtjVxUntE7dk0OD+di213SBn3jawAHG\niHORjtkDndIPfCwcUdnpK0GAVtL6kK2dlIIZa9TB15WnT07Pzry4w21WkYSJ3Thf\neJyNzYMCgYA8OvpKMdaEXFeNZWHDE1Q2VmpxvP/D6u6s4SBuyy8eac1qqku/s7zc\nsuFd/o9wbBgzsf4eN8tNJ4bxrArRXvf9WyH7xd4PE3DvVJnz5S+8Nqj2Z0KCAqPD\nibDbFxBYHcMIdwC2JBGQZIXpkST2jG9wZho5KghX4yiHSOPr2V25/g==\n-----END RSA PRIVATE KEY-----\n",
            "user_id": "6fc0d2cbbfab40b199874b97097e913d",
            "name": "demo",
            "fingerprint": "b4:9a:c3:12:c4:90:bf:8e:7a:e2:70:10:c3:00:55:3f"
       }
    }
    ```
    
   
- 导入SSH密钥对
  - 导入SSH密钥对请求样例
    ```
    {
        "keypair": {
            "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyNtFZM04PFxERvZU5OBKTKr3mtRZABe5/+zX81lTgDFCBfq6OXia47M4qXOa3ciBEKKZF+fMfs8U2UNB9aK1R/uORsoEFtxSgZnWG6p4Ct1vnrqwDD934VaDFPEn+h3JeAfvTB+Ag1YQ9zh9uYyE9Z3qZcC9+Ui93BDGdBtQeav4odxdwXcr2mT2jJV0nsocV0O4UcKM8BaIm8eqbcroZEkyxqT3mUoSbmGx1hrngjBsP1ufgwJ6D85LFGQC1SjIOLvsR9i6v41BaLF8/kygvKOh2HlNVSMx38g52sTqoQ/xb3f8vR1VDXliAuD0frrG2Fy5wK4rOAnjuX9nh0bC9 Generated-by-Nova\n",
            "type": "ssh",
            "name": "demo1"，
            "user_id": "fake"
        }
    }
    ```
    
  
  - 导入SSH密钥对响应样例
    ```
    {
        "keypair": {
            "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyNtFZM04PFxERvZU5OBKTKr3mtRZABe5/+zX81lTgDFCBfq6OXia47M4qXOa3ciBEKKZF+fMfs8U2UNB9aK1R/uORsoEFtxSgZnWG6p4Ct1vnrqwDD934VaDFPEn+h3JeAfvTB+Ag1YQ9zh9uYyE9Z3qZcC9+Ui93BDGdBtQeav4odxdwXcr2mT2jJV0nsocV0O4UcKM8BaIm8eqbcroZEkyxqT3mUoSbmGx1hrngjBsP1ufgwJ6D85LFGQC1SjIOLvsR9i6v41BaLF8/kygvKOh2HlNVSMx38g52sTqoQ/xb3f8vR1VDXliAuD0frrG2Fy5wK4rOAnjuX9nh0bC9 Generated-by-Nova\n",
            "user_id": "6fc0d2cbbfab40b199874b97097e913d",
            "name": "demo1",
            "fingerprint": "b4:9a:c3:12:c4:90:bf:8e:7a:e2:70:10:c3:00:55:3f"
        }
    }
    ```
    
   
 
#### 状态码
请参考[状态码](https://support.huaweicloud.com/api-dew/dew_02_0301.html)。
