Creating or Importing an SSH Key Pair (Native OpenStack API)
Function
This API is used to create an SSH key pair or import a public key to generate a key pair.
After an SSH key pair is generated, download the private key to a local directory. Then, you can use this private key to log in to the BMS. For BMS security purposes, a private key can be downloaded only once. Keep it secure.
URI
POST /v2.1/{project_id}/os-keypairs
Table 1 lists the parameters.
| Parameter | Mandatory | Description |
|---|---|---|
| project_id | Yes | Specifies the project ID. For details about how to obtain the project ID, see Obtaining a Project ID. |
Request Parameters
When creating an SSH key pair, you only need to configure name. When importing a public SSH key, you must also configure public_key.
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| keypair | Yes | Object | Specifies the created or imported SSH key pair. For details, see Table 2. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| public_key | No | String | Specifies the imported public key. The maximum size of the imported public key is 1024 bytes. Note: If the length of the public key to be imported exceeds 1024 bytes, the public key import to the BMS will fail. |
| name | Yes | String | Specifies the key pair name. The new key pair name cannot be the same as an existing one. |
Example Request
1 | POST https://{ECS Endpoint}/v2.1/bbf1946d374b44a0a2a95533562ba954/os-keypairs |
1 2 3 4 5 6 | { "keypair": { "name": "keypair-7d7c3650-dabe-4eb0-b904-5c464453c043", "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC9mC3WZN9UGLxgPBpP7H5jZMc6pKwOoSgre8yun6REFktn/Kz7DUt9jaR1UJyRzHxITfCfAIgSxPdGqB/oF1suMyWgu5i0625vavLB5z5kC8Hq3qZJ9zJO1poE1kyD+htiTtPWJ88e12xuH2XB/CZN9OpEiF98hAagiOE0EnOS5Q== Generated by Nova\n" } } |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| keypair | Object | Specifies the SSH key pair. For details, see Table 3. |
| Parameter | Type | Description |
|---|---|---|
| fingerprint | String | Specifies fingerprint information about the key pair. |
| name | String | Specifies the key pair name. |
| public_key | String | Specifies the public key. |
| private_key | String | Specifies the private key.
|
| user_id | String | Specifies the ID of the user owning the key pair. |
Example Response
1 2 3 4 5 6 7 8 | { "keypair": { "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC9mC3WZN9UGLxgPBpP7H5jZMc6pKwOoSgre8yun6REFktn/Kz7DUt9jaR1UJyRzHxITfCfAIgSxPdGqB/oF1suMyWgu5i0625vavLB5z5kC8Hq3qZJ9zJO1poE1kyD+htiTtPWJ88e12xuH2XB/CZN9OpEiF98hAagiOE0EnOS5Q== Generated by Nova\n", "user_id": "f882feb345064e7d9392440a0f397c25", "name": "keypair-7d7c3650-dabe-4eb0-b904-5c464453c043", "fingerprint": "35:9d:d0:c3:4a:80:d3:d8:86:f1:ca:f7:df:c4:f9:d8" } } |
Returned Values
| Returned Values | Description |
|---|---|
| 200 | The request has been successfully processed. |
For details about other returned values, see Status Codes.
Error Codes
See Error Codes.