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.