调用CreateKeyPair创建一对SSH密钥对。系统会为您保管密钥的公钥部分,并返回未加密的PEM编码的PKCS#8格式私钥。您需要自行妥善保管私钥部分。
接口说明
除了调用CreateKeyPair创建密钥对之外,您还可以使用第三方工具创建密钥对,然后上传(ImportKeyPair)到某一阿里云地域,其使用方法和系统为您创建的密钥对是一致的。
您在每个地域的密钥对数最高为500对。更多信息,请参见使用限制。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | CreateKeyPair | 系统规定参数。取值:CreateKeyPair。 |
RegionId | String | 是 | cn-hangzhou | 密钥对所在的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 |
KeyPairName | String | 是 | testKeyPairName | 密钥对名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以 |
ResourceGroupId | String | 否 | rg-bp67acfmxazb4p**** | SSH密钥对所在的企业资源组ID。 |
Tag.N.Key | String | 否 | TestKey | 密钥对的标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以 |
Tag.N.Value | String | 否 | TestValue | 密钥对的标签值。N的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持128个字符,不能以acs:开头,不能包含http://或者https://。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
PrivateKeyBody | String | MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj**** | 密钥对的私钥。PEM编码的PKCS#8格式的私钥部分。 |
KeyPairName | String | testKeyPairName | 密钥对名称。 |
KeyPairId | String | ssh-bp67acfmxazb4p**** | SSH密钥对的ID。 |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E | 请求ID。 |
KeyPairFingerPrint | String | 89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:** | 密钥对的指纹。根据RFC4716定义的公钥指纹格式,采用MD5信息摘要算法。更多信息,请参见RFC4716。 |
示例
请求示例
https://ecs.aliyuncs.com/?Action=CreateKeyPair
&RegionId=cn-hangzhou
&KeyPairName=testKeyPairName
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateKeyPairResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E</RequestId>
<KeyPairName>testKeyPairName</KeyPairName>
<KeyPairId>ssh-bp67acfmxazb4p****</KeyPairId>
<KeyPairFingerPrint>89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**</KeyPairFingerPrint>
<PrivateKeyBody>MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj****</PrivateKeyBody>
</CreateKeyPairResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
"KeyPairName" : "testKeyPairName",
"KeyPairId" : "ssh-bp67acfmxazb4p****",
"KeyPairFingerPrint" : "89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**",
"PrivateKeyBody" : "MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj****"
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
400 | InvalidKeyPairName.Malformed | Specified Key Pair name is not valid. | 密钥对名称不合法。 |
400 | KeyPair.AlreadyExist | The key pair already exist. | 密钥对已存在,请不要重复添加。 |
400 | Duplicate.TagKey | The Tag.N.Key contain duplicate key. | 标签中存在重复的键,请保持键的唯一性。 |
400 | InvalidTagKey.Malformed | The specified Tag.n.Key is not valid. | 指定的标签键参数有误。 |
400 | InvalidTagValue.Malformed | The specified Tag.n.Value is not valid. | 指定的标签值参数有误。 |
403 | QuotaExceed.KeyPair | The key pair quota exceeds. | 密钥对数量已达上限。 |
403 | QuotaExceed.Tags | %s | 标签数超过可以配置的最大数量。%s为变量,将根据调用API的实际情况动态返回错误信息。 |
404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | 资源组并不在记录中。 |
访问错误中心查看更多错误码。