Imports the public key of a Rivest–Shamir–Adleman (RSA)-encrypted key pair that is generated by a third-party tool. After the key pair is imported, Alibaba Cloud stores the public key. You must store the private key on your own and ensure its confidentiality.
Usage notes
Take note of the following items:
- You can create up to 500 key pairs in each region.
- The key pair to be imported must support one of the following encryption methods:
- rsa
- dsa
- ssh-rsa
- ssh-dss
- ecdsa
- ssh-rsa-cert-v00@openssh.com
- ssh-dss-cert-v00@openssh.com
- ssh-rsa-cert-v01@openssh.com
- ssh-dss-cert-v01@openssh.com
- ecdsa-sha2-nistp256-cert-v01@openssh.com
- ecdsa-sha2-nistp384-cert-v01@openssh.com
- ecdsa-sha2-nistp521-cert-v01@openssh.com
Debugging
Request parameters
|
Parameter |
Type |
Required |
Example |
Description |
| Action | String | Yes | ImportKeyPair | The operation that you want to perform. Set the value to ImportKeyPair. |
| RegionId | String | Yes | cn-hangzhou | The region ID. You can call the DescribeRegions operation to query the most recent region list. |
| KeyPairName | String | Yes | testKeyPairName | The name of the key pair. The name must be unique. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with http:// or https://. The name can contain letters, digits, colons (:), underscores (_), and hyphens (-). |
| PublicKeyBody | String | Yes | ABC1234567 | The public key of the key pair. |
| ResourceGroupId | String | No | rg-bp67acfmxazb4p**** | The ID of the resource group to which to add the key pair. |
| Tag.N.Key | String | No | TestKey | The key of tag N to add to 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 contain http:// or https://. The tag key cannot start with acs: or aliyun. |
| Tag.N.Value | String | No | TestValue | The value of tag N to add to 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 contain http:// or https://. The tag value cannot start with acs:. |
Response parameters
Parameter |
Type |
Example |
Description |
| RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E | The ID of the request. |
| KeyPairName | String | testKeyPairName | The name of the key pair to add to the instance. |
| KeyPairFingerPrint | String | 89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:** | The fingerprint of the key pair. The message-digest algorithm 5 (MD5) is used based on the public key fingerprint format defined in RFC 4716. |
Examples
Sample requests
https://ecs.aliyuncs.com/?Action=ImportKeyPair
&RegionId=cn-qingdao
&PublicKeyBody=ABC1234567
&KeyPairName=testKeyPairName
&<Common request parameters>
Sample success responses
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<ImportKeyPairResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>
<KeyPairName>testKeyPairName</KeyPairName>
<KeyPairFingerPrint>89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**</KeyPairFingerPrint>
</ImportKeyPairResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
"KeyPairName" : "testKeyPairName",
"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. | The specified key pair name is invalid. |
| 400 | InvalidPublicKeyBody.Malformed | The PublicKeyBody format is not supported. | The public key format is not supported. |
| 400 | KeyPair.AlreadyExist | The key pair already exist. | A key pair with the same name already exists. Key pair names must be unique. |
| 403 | QuotaExceed.KeyPair | The key pair quota exceeds. | The maximum number of key pairs is reached. |
| 404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | The resource group is not found. |
| 500 | InternalError | The request processing has failed due to some unknown error. | An internal error occurred. Try again later. |
For a list of error codes, see Service error codes.