Calls CreateKeyPair to create an SSH key pair. The system stores the public key and returns the unencrypted PEM-encoded PKCS#8 format private key. You must securely store the private key on your own.
Operation description
In addition to calling CreateKeyPair to create a key pair, you can use a third-party tool to create a key pair and then upload it (ImportKeyPair) to a region. The usage of a key pair created by a third-party tool is the same as that of a key pair created by the system.
You can have up to 500 key pairs in each region. For more information, see Limits.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
ecs:CreateKeyPair |
create |
*KeyPair
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| RegionId |
string |
Yes |
The region ID of the key pair. You can call DescribeRegions to query the latest region list. |
cn-hangzhou |
| KeyPairName |
string |
Yes |
The name of the key pair. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). The name must start with a letter and cannot start with |
testKeyPairName |
| ResourceGroupId |
string |
No |
The ID of the resource group to which the SSH key pair belongs. |
rg-bp67acfmxazb4p**** |
| Tag |
array<object> |
No |
The tags. |
|
|
object |
No |
The tags. |
||
| Key |
string |
No |
The key of tag N of the key pair. Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with |
TestKey |
| Value |
string |
No |
The value of tag N of the key pair. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with acs:. The tag value cannot contain http:// or https://. |
TestValue |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| PrivateKeyBody |
string |
The private key of the key pair. The private key is PEM-encoded in PKCS#8 format. |
MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj**** |
| KeyPairName |
string |
The name of the key pair. |
testKeyPairName |
| KeyPairId |
string |
The ID of the SSH key pair. |
ssh-bp67acfmxazb4p**** |
| RequestId |
string |
The request ID. |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E |
| KeyPairFingerPrint |
string |
The fingerprint of the key pair. The public key fingerprint format is defined by RFC 4716 and uses the MD5 message digest algorithm. For more information, see RFC 4716. |
89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:** |
Examples
Success response
JSON format
{
"PrivateKeyBody": "MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj****",
"KeyPairName": "testKeyPairName",
"KeyPairId": "ssh-bp67acfmxazb4p****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
"KeyPairFingerPrint": "89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**"
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | InvalidKeyPairName.Malformed | Specified Key Pair name is not valid. | |
| 400 | KeyPair.AlreadyExist | The key pair already exist. | A key pair with the same name already exists. Key pair names must be unique. |
| 400 | Duplicate.TagKey | The Tag.N.Key contain duplicate key. | The specified tag key already exists. Tag keys must be unique. |
| 400 | InvalidTagKey.Malformed | The specified Tag.n.Key is not valid. | The specified Tag.N.Key parameter is invalid. |
| 400 | InvalidTagValue.Malformed | The specified Tag.n.Value is not valid. | The specified tag value is invalid. |
| 403 | QuotaExceed.KeyPair | The key pair quota exceeds. | |
| 403 | QuotaExceed.Tags | %s | The number of specified tags exceeds the upper limit. %s is a variable. An error message is dynamically returned based on call conditions. |
| 404 | InvalidRegionId.NotFound | The RegionId provided does not exist in our records. | Region information error |
| 404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | The specified resource group does not exist. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.