全部产品
Search
文档中心

云服务器 ECS:CreateKeyPair - 创建一对SSH密钥对

更新时间:Mar 19, 2024

调用CreateKeyPair创建一对SSH密钥对。系统会为您保管密钥的公钥部分,并返回未加密的PEM编码的PKCS#8格式私钥。您需要自行妥善保管私钥部分。

接口说明

除了调用 CreateKeyPair 创建密钥对之外,您还可以使用第三方工具创建密钥对,然后上传( ImportKeyPair )到某一阿里云地域,其使用方法和系统为您创建的密钥对是一致的。

您在每个地域的密钥对数最高为 500 对。更多信息,请参见使用限制

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ecs:CreateKeyPairWrite
  • KeyPair
    acs:ecs:{#regionId}:{#accountId}:keypair/*
  • ecs:tag

请求参数

名称类型必填描述示例值
RegionIdstring

密钥对所在的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou
KeyPairNamestring

密钥对名称。长度为 2~128 个英文或中文字符。必须以大小字母或中文开头,不能以http://https://开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。

testKeyPairName
ResourceGroupIdstring

SSH 密钥对所在的企业资源组 ID。

rg-bp67acfmxazb4p****
Tagobject []

标签列表。

Keystring

密钥对的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以aliyunacs:开头,不能包含http://或者https://

TestKey
Valuestring

密钥对的标签值。N 的取值范围:1~20。一旦传入该值,允许为空字符串。最多支持 128 个字符,不能以 acs:开头,不能包含 http://或者 https://。

TestValue

返回参数

名称类型描述示例值
object
PrivateKeyBodystring

密钥对的私钥。PEM 编码的 PKCS#8 格式的私钥部分。

MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj****
KeyPairNamestring

密钥对名称。

testKeyPairName
KeyPairIdstring

SSH 密钥对的 ID。

ssh-bp67acfmxazb4p****
RequestIdstring

请求 ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
KeyPairFingerPrintstring

密钥对的指纹。根据 RFC4716 定义的公钥指纹格式,采用 MD5 信息摘要算法。更多信息,请参见 RFC4716

89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:**

示例

正常返回示例

JSON格式

{
  "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:**"
}

错误码

HTTP status code错误码错误信息描述
400InvalidKeyPairName.MalformedSpecified Key Pair name is not valid.密钥对名称不合法。
400KeyPair.AlreadyExistThe key pair already exist.密钥对已存在,请不要重复添加。
400Duplicate.TagKeyThe Tag.N.Key contain duplicate key.标签中存在重复的键,请保持键的唯一性。
400InvalidTagKey.MalformedThe specified Tag.n.Key is not valid.指定的标签键参数有误。
400InvalidTagValue.MalformedThe specified Tag.n.Value is not valid.指定的标签值参数有误。
403QuotaExceed.KeyPairThe key pair quota exceeds.密钥对数量已达上限。
403QuotaExceed.Tags%s标签数超过可以配置的最大数量。%s为变量,将根据调用API的实际情况动态返回错误信息。
404InvalidRegionId.NotFoundThe RegionId provided does not exist in our records.提供的RegionId不存在
404InvalidResourceGroup.NotFoundThe ResourceGroup provided does not exist in our records.资源组并不在记录中。

访问错误中心查看更多错误码。