更新时间:2022-10-27 GMT+08:00

创建和导入SSH密钥对

功能介绍

创建和导入SSH密钥对

URI

POST /v3/{project_id}/keypairs

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

keypair

CreateKeypairAction object

创建密钥对请求体请求参数

表4 CreateKeypairAction

参数

是否必选

参数类型

描述

name

String

SSH密钥对的名称。

  • 新创建的密钥对名称不能和已有密钥对的名称相同。

  • SSH密钥对名称由英文字母、数字、下划线、中划线组成,长度不能超过64个字节

type

String

SSH密钥对的类型

public_key

String

导入公钥的字符串信息。

scope

String

租户级或者用户级

user_id

String

SSH密钥对所属的用户信息

key_protection

KeyProtection object

SSH密钥对私钥托管与保护。

表5 KeyProtection

参数

是否必选

参数类型

描述

private_key

String

导入SSH密钥对的私钥。

encryption

Encryption object

对私钥进行加密存储的方式。

表6 Encryption

参数

是否必选

参数类型

描述

type

String

取值范围:“kms”或“default”。

  • “default”为默认加密方式,适用于没有kms服务的局点。

  • “kms”为采用kms服务加密方式。 若局点没有kms服务,请填“default”。

kms_key_name

String

kms密钥的名称。

  • 若“type”为“kms”,则必须填入kms服务密钥名称。

响应参数

状态码: 200

表7 响应Body参数

参数

参数类型

描述

keypair

CreateKeypairResp object

SSH密钥对信息详情

表8 CreateKeypairResp

参数

参数类型

描述

name

String

SSH密钥对的名称

type

String

SSH密钥对的类型

public_key

String

SSH密钥对对应的publicKey信息

private_key

String

SSH密钥对对应的privateKey信息

  • 创建SSH密钥对时,响应中包括private_key的信息。

  • 导入SSH密钥对时,响应中不包括private_key的信息。

fingerprint

String

SSH密钥对应指纹信息

user_id

String

SSH密钥对所属的用户信息

状态码: 400

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

{
  "keypair" : {
    "name" : "demo2"
  }
}

响应示例

状态码: 200

OK

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

状态码: 400

Error response

{
  "error_code" : "KPS.XXX",
  "error_msg" : "XXX"
}

状态码

状态码

描述

200

OK

400

Error response

错误码

请参见错误码