更新时间:2022-02-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

    密钥名称。

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

  • 请求样例
    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

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

其他返回值请参考状态码

错误码

请参考错误码