更新时间:2024-10-22 GMT+08:00

创建和导入SSH密钥(OpenStack原生)

功能介绍

创建SSH密钥,或把公钥导入系统,生成密钥对。

创建SSH密钥成功后,请把响应数据中的私钥内容保存到本地文件,用户使用该私钥登录裸金属服务器。为保证裸金属服务器安全,私钥数据只能读取一次,请妥善保管。

URI

POST /v2.1/{project_id}/os-keypairs

参数说明请参见表1

表1 参数说明

参数

是否必选

描述

project_id

项目ID。

获取方式请参见获取项目ID

请求参数

创建SSH密钥时,只需要提交SSH密钥的name属性。导入SSH密钥时,才需要提交public_key属性。

参数

是否必选

参数类型

描述

keypair

Object

创建或导入的SSH密钥信息,详情请参见表2

表2 keypair字段数据结构说明

参数

是否必选

参数类型

描述

public_key

String

导入的公钥信息。导入公钥最大长度为1024字节。

注:长度超过1024字节会导致裸金属服务器注入该密钥失败。

name

String

密钥名称。

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

请求示例

创建和导入名称为keypair-7d7c3650-dabe-4eb0-b904-5c464453c043,公钥信息为ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC9mC3WZN9UGLxgPBpP7H5jZMc6pKwOoSgre8yun6REFktn/Kz7DUt9jaR1UJyRzHxITfCfAIgSxPdGqB/oF1suMyWgu5i0625vavLB5z5kC8Hq3qZJ9zJO1poE1kyD+htiTtPWJ88e12xuH2XB/CZN9OpEiF98hAagiOE0EnOS5Q== Generated by Nova\n的SSH密钥。
1
POST https://{ECS Endpoint}/v2.1/bbf1946d374b44a0a2a95533562ba954/os-keypairs
1
2
3
4
5
6
{
    "keypair": {
        "name": "keypair-7d7c3650-dabe-4eb0-b904-5c464453c043",
        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC9mC3WZN9UGLxgPBpP7H5jZMc6pKwOoSgre8yun6REFktn/Kz7DUt9jaR1UJyRzHxITfCfAIgSxPdGqB/oF1suMyWgu5i0625vavLB5z5kC8Hq3qZJ9zJO1poE1kyD+htiTtPWJ88e12xuH2XB/CZN9OpEiF98hAagiOE0EnOS5Q== Generated by Nova\n"
    }
}

响应参数

参数

参数类型

描述

keypair

Object

SSH密钥信息,详情请参见表3

表3 keypair字段数据结构说明

参数

参数类型

描述

fingerprint

String

密钥对应指纹信息。

name

String

密钥名称。

public_key

String

密钥对应的公钥信息。

private_key

String

密钥对应的私钥信息。

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

user_id

String

密钥所属用户ID。

响应示例

1
2
3
4
5
6
7
8
{
    "keypair": {
        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC9mC3WZN9UGLxgPBpP7H5jZMc6pKwOoSgre8yun6REFktn/Kz7DUt9jaR1UJyRzHxITfCfAIgSxPdGqB/oF1suMyWgu5i0625vavLB5z5kC8Hq3qZJ9zJO1poE1kyD+htiTtPWJ88e12xuH2XB/CZN9OpEiF98hAagiOE0EnOS5Q== Generated by Nova\n",
        "user_id": "f882feb345064e7d9392440a0f397c25",
        "name": "keypair-7d7c3650-dabe-4eb0-b904-5c464453c043",
        "fingerprint": "35:9d:d0:c3:4a:80:d3:d8:86:f1:ca:f7:df:c4:f9:d8"
    }
}

返回值

正常返回值:

返回值

说明

200

服务器已成功处理了请求。

其他返回值请参考状态码

错误码

请参考错误码