Creating and Importing an SSH Key Pair
Function
Creating and Importing an SSH Key Pair
Calling Method
For details, see Calling APIs.
URI
POST /v3/{project_id}/keypairs
Parameter | Mandatory | Type | Description |
|---|---|---|---|
project_id | Yes | String | Project ID. |
Request Parameters
Parameter | Mandatory | Type | Description |
|---|---|---|---|
X-Auth-Token | Yes | String | User token. Can be obtained by calling the IAM API for obtaining the user token (the value of X-Subject-Token in the response header). |
Parameter | Mandatory | Type | Description |
|---|---|---|---|
keypair | Yes | CreateKeypairAction object | Parameter in the request body for creating a key pair |
Parameter | Mandatory | Type | Description |
|---|---|---|---|
name | Yes | String | SSH key pair name.
|
type | No | String | SSH key pair type. The value can be ssh or x509. |
public_key | No | String | String of an imported public key |
scope | No | String | Tenant-level or user-level. The value can be domain or user. |
user_id | No | String | User that an SSH key pair belongs to |
key_protection | No | KeyProtection object | Private key hosting and protection for the SSH key pair. |
Parameter | Mandatory | Type | Description |
|---|---|---|---|
private_key | No | String | Private key of the imported SSH key pair. |
encryption | Yes | Encryption object | How a private key is encrypted and stored. |
Parameter | Mandatory | Type | Description |
|---|---|---|---|
type | Yes | String | Value options: - default: The default encryption mode. Applicable to sites where KMS is not deployed. - kms: KMS encryption mode. If the KMS service is not available at the site, set this parameter to default. |
kms_key_name | No | String | KMS key name.
|
kms_key_id | No | String | KMS key ID.
|
Response Parameters
Status code: 200
Parameter | Type | Description |
|---|---|---|
keypair | CreateKeypairResp object | SSH key pair details |
Parameter | Type | Description |
|---|---|---|
name | String | SSH key pair name |
type | String | SSH key pair type. The value can be ssh or x509. |
public_key | String | Public key information about an SSH key pair |
private_key | String | Private key information about an SSH key pair. - When an SSH key pair is created, the response contains private_key information. - When an SSH key pair is imported, the response does not contain private_key information. |
fingerprint | String | Fingerprint information about an SSH key pair |
user_id | String | User that an SSH key pair belongs to |
Status code: 400
Parameter | Type | Description |
|---|---|---|
error_code | String | Error Codes |
error_msg | String | Description |
Example Requests
{
"keypair" : {
"name" : "demo2"
}
} Example Responses
Status code: 200
Request succeeded.
{
"keypair" : {
"name" : "demo",
"type" : "ssh",
"public_key" : "ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB...",
"private_key" : "-----BEGIN RSA PRIVATE KEY-----...",
"fingerprint" : "49:ef:73:2b:9b:7f:2e:0c:58:d3:e3:42:8e:28:04:3b",
"user_id" : "e4f380899b1248918f3d37098dc63746"
}
} Status code: 400
Error response
{
"error_code" : "KPS.XXX",
"error_msg" : "XXX"
} Status Codes
Status Code | Description |
|---|---|
200 | Request succeeded. |
400 | Error response |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.

