更新时间:2023-12-26 GMT+08:00

创建及导入SSH密钥对(V2.1)

功能介绍

创建SSH密钥对和导入SSH密钥对,同时可选择对私钥进行托管。

URI

  • URI格式

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

  • 参数说明
    表1 参数说明

    参数

    是否必选

    参数类型

    描述

    project_id

    String

    项目ID。

请求消息

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

表2 请求参数

参数

是否必选

参数类型

描述

keypair

Object

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

表3 keypair字段数据结构说明

参数

是否必选

参数类型

描述

public_key

String

导入公钥的字符串信息。

name

String

SSH密钥对的名称。

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

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

user_id

String

SSH密钥对的用户ID。

key_protection

Object

SSH密钥对私钥托管与保护,详情请参见表4

表4 key_protection字段数据结构说明

参数

是否必选

参数类型

描述

private_key

String

导入私钥的字符串信息。

encryption

Object

对私钥进行加密存储的方式,详情请参见表5

表5 encryption字段数据结构说明

参数

是否必选

参数类型

描述

type

String

取值范围:“kms”“default”

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

若局点没有kms服务,请填“default”

kms_key_name

String

kms密钥的名称。

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

响应消息

表6 响应参数

参数

是否必选

参数类型

描述

keypair

Object

SSH密钥对的信息,详情请参见表7

表7 keypair字段数据结构说明

参数

是否必选

参数类型

描述

fingerprint

String

SSH密钥对对应的指纹信息。

name

String

SSH密钥对的名称。

public_key

String

SSH密钥对对应的publicKey信息。

private_key

String

SSH密钥对对应的privateKey信息。

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

user_id

String

SSH密钥对所属的用户ID。

示例

  • 创建SSH密钥对
    • 创建SSH密钥对请求样例
      {
          "keypair": {
              "name": "demo1"
          }
      }
    • 创建SSH密钥对响应样例
      {
          "keypair": {
              "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXKzohKbFOqubYNunFNsrEYlk9NEIJIFvbmTe/LTeMzFIPKM53Zu2sYr/uuNcziPkWpFchXdkD+O/Bf2ZzKaR1DYPMWss9TkaqU4RQ7CIBW7ChJF1Qzc1JPRBmKe6e8qs1QBBoS1QvXgSjbuf2Fb1yncSbphmQV8+5KA8xkxz4XdM1/gSAZZ14rJrMjgp7jCdgxWiHNcDuKxaPt+0eO8rEG/gxR7J0b9Uk53ao/xjLoKXYdLLiYUaha0fHdW3t6Lw1NdzUMmKnlLqN9O37Tbg7vM0nN4UJt0XXvM45KfnJiMx0HUKXdWkUj9cE8VBDPw/gBbQzSpJHgQFG7mNDZubN Generated-by-Nova\n",
              "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAlys6ISmxTqrm2DbpxTbKxGJZPTRCCSBb25k3vy03jMxSDyjO\nd2btrGK/7rjXM4j5FqRXIV3ZA/jvwX9mcymkdQ2DzFrLPU5GqlOEUOwiAVuwoSRd\nUM3NST0QZinunvKrNUAQaEtUL14Eo27n9hW9cp3Em6YZkFfPuSgPMZMc+F3TNf4E\ngGWdeKyazI4Ke4wnYMVohzXA7isWj7ftHjvKxBv4MUeydG/VJOd2qP8Yy6Cl2HSy\n4mFGoWtHx3Vt7ei8NTXc1DJip5S6jfTt+024O7zNJzeFCbdF17zOOSn5yYjMdB1C\nl3VpFI/XBPFQQz8P4AW0M0qSR4EBRu5jQ2bmzQIDAQABAoIBAFwm1s3Gi7bICec+\nOm2lhCAJUBs2UxcbKcQJd+lL2DQ1jcR9/LbfAP34SMZu2Ykp86Zw0kid3CBGzWko\nj7yeYwmUDocxxfl+USedt+hYujYXvenNsDEE9CK0Xd3ZrAQrLGFOx3G8kfo6FxvG\nDRN/lzhaorK7o5PRY+icWf6/joZ8Q96scHmm0ob5rtBkUYcek+ckf3mLVIpzzdKA\ndkSi57M78zwDA89MpVABEoO1DPVxEqrrMQZy5UnAmeGHh16mPS4qMCokPVz36pSG\nIWSqHnVKzsbxvw5Da9y69NmpSi2E1wqDaU9IzwnLyQpHnE1nXsWmxNqKTHlDBbnb\nXPGFdcECgYEAxf4IMqYBeBiq+7RVwcTcT4gpApJmywigwMFaaX35E3O53ja8hk1/\n5OCRnvK7yrt9wnWY8DIh8GPJptKzuTb/l/14L4kE1MYm7Gpho5SwXV5BqtjgjfZm\nQVNpWruXEugXALcfbHiH+peO+3AmwgIqgkOLPLxY1Duw6/miDB8bOfECgYEAw3VO\nl9edXExJvJvSzAopSNmw+ExpUZTgS3L2Pyn21QhfwNHyxPH8fNNKv0/x9ZzBn25U\nUxXTPPbLFV3cq7kfuYFW0OZkh8QjCPDkIE116E2QvacxqkBuW774xr5msfWdxpcp\nwccgWKci1vEHLtqj3RTNMFKcXtj4QrCES4ZsPp0CgYEAhzYYux4LWszd188r0Yxz\nOA0wlIUOlhFqVri02d4hv1sEz/Bphv5eHRwP1pDGFok8NRTCQSa7bsN27uptuksI\n+e8rqKrWFcjMxB9SVrgwSVMZXWeG0uw2oN4p0MDTRyIgs2hbmWQm2Mev6Z6JmWyJ\nQzSFXhDySN4K0NxGAiksGsECgYAJvZTXGFWtPdgG4DUXGgKIsOCS3yv4dtTerbH7\n39l/MFWlRFE242BT0CvPcOp79P3pNhRZt6K5TQs921md7THZisqKypCD+5BLZ8XW\nnkWb+BGYgfaFp4RYaiH3tZFkmPrt5KaeE5BXGq0vzP8wpJC5+cln+RX13BYzLJzL\nLr3COQKBgDJjY0qop3aSG+1tSkMJtOFdb2+qXiqaE+Wxv03SOkPx8LBz+taNz+DE\nR7THDNXSrS85WVc3ozE8hULBX12iIWpr5kb5lRaw3ZgX6wBnSSpdQu49v3nFoGJk\nUWY95pQ/BWQaX0q4KxzRVxup+7gwT5sKFXU+ktFtsGMYoDoSzbZS\n-----END RSA PRIVATE KEY-----\n",
              "user_id": "e4f380899b1248918f3d37098dc63746",
              "name": "demo123",
              "fingerprint": "49:ef:73:2b:9b:7f:2e:0c:58:d3:e3:42:8e:28:04:3b"
          }
      }
      {
          "error_code": "KPS.XXXX",
          "error_msg": "XXXX"
      }
  • 创建SSH密钥对并托管私钥
    • 创建SSH密钥对并托管私钥请求样例
      {
          "keypair": {
              "name": "demo2",
              "key_protection": {
                  "encryption": {
                      "type": "kms",
                      "kms_key_name": "demo"
                  }
              }
          }
      }
    • 创建SSH密钥对并托管私钥响应样例
      {
          "keypair": {
              "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXKzohKbFOqubYNunFNsrEYlk9NEIJIFvbmTe/LTeMzFIPKM53Zu2sYr/uuNcziPkWpFchXdkD+O/Bf2ZzKaR1DYPMWss9TkaqU4RQ7CIBW7ChJF1Qzc1JPRBmKe6e8qs1QBBoS1QvXgSjbuf2Fb1yncSbphmQV8+5KA8xkxz4XdM1/gSAZZ14rJrMjgp7jCdgxWiHNcDuKxaPt+0eO8rEG/gxR7J0b9Uk53ao/xjLoKXYdLLiYUaha0fHdW3t6Lw1NdzUMmKnlLqN9O37Tbg7vM0nN4UJt0XXvM45KfnJiMx0HUKXdWkUj9cE8VBDPw/gBbQzSpJHgQFG7mNDZubN Generated-by-Nova\n",
              "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAlys6ISmxTqrm2DbpxTbKxGJZPTRCCSBb25k3vy03jMxSDyjO\nd2btrGK/7rjXM4j5FqRXIV3ZA/jvwX9mcymkdQ2DzFrLPU5GqlOEUOwiAVuwoSRd\nUM3NST0QZinunvKrNUAQaEtUL14Eo27n9hW9cp3Em6YZkFfPuSgPMZMc+F3TNf4E\ngGWdeKyazI4Ke4wnYMVohzXA7isWj7ftHjvKxBv4MUeydG/VJOd2qP8Yy6Cl2HSy\n4mFGoWtHx3Vt7ei8NTXc1DJip5S6jfTt+024O7zNJzeFCbdF17zOOSn5yYjMdB1C\nl3VpFI/XBPFQQz8P4AW0M0qSR4EBRu5jQ2bmzQIDAQABAoIBAFwm1s3Gi7bICec+\nOm2lhCAJUBs2UxcbKcQJd+lL2DQ1jcR9/LbfAP34SMZu2Ykp86Zw0kid3CBGzWko\nj7yeYwmUDocxxfl+USedt+hYujYXvenNsDEE9CK0Xd3ZrAQrLGFOx3G8kfo6FxvG\nDRN/lzhaorK7o5PRY+icWf6/joZ8Q96scHmm0ob5rtBkUYcek+ckf3mLVIpzzdKA\ndkSi57M78zwDA89MpVABEoO1DPVxEqrrMQZy5UnAmeGHh16mPS4qMCokPVz36pSG\nIWSqHnVKzsbxvw5Da9y69NmpSi2E1wqDaU9IzwnLyQpHnE1nXsWmxNqKTHlDBbnb\nXPGFdcECgYEAxf4IMqYBeBiq+7RVwcTcT4gpApJmywigwMFaaX35E3O53ja8hk1/\n5OCRnvK7yrt9wnWY8DIh8GPJptKzuTb/l/14L4kE1MYm7Gpho5SwXV5BqtjgjfZm\nQVNpWruXEugXALcfbHiH+peO+3AmwgIqgkOLPLxY1Duw6/miDB8bOfECgYEAw3VO\nl9edXExJvJvSzAopSNmw+ExpUZTgS3L2Pyn21QhfwNHyxPH8fNNKv0/x9ZzBn25U\nUxXTPPbLFV3cq7kfuYFW0OZkh8QjCPDkIE116E2QvacxqkBuW774xr5msfWdxpcp\nwccgWKci1vEHLtqj3RTNMFKcXtj4QrCES4ZsPp0CgYEAhzYYux4LWszd188r0Yxz\nOA0wlIUOlhFqVri02d4hv1sEz/Bphv5eHRwP1pDGFok8NRTCQSa7bsN27uptuksI\n+e8rqKrWFcjMxB9SVrgwSVMZXWeG0uw2oN4p0MDTRyIgs2hbmWQm2Mev6Z6JmWyJ\nQzSFXhDySN4K0NxGAiksGsECgYAJvZTXGFWtPdgG4DUXGgKIsOCS3yv4dtTerbH7\n39l/MFWlRFE242BT0CvPcOp79P3pNhRZt6K5TQs921md7THZisqKypCD+5BLZ8XW\nnkWb+BGYgfaFp4RYaiH3tZFkmPrt5KaeE5BXGq0vzP8wpJC5+cln+RX13BYzLJzL\nLr3COQKBgDJjY0qop3aSG+1tSkMJtOFdb2+qXiqaE+Wxv03SOkPx8LBz+taNz+DE\nR7THDNXSrS85WVc3ozE8hULBX12iIWpr5kb5lRaw3ZgX6wBnSSpdQu49v3nFoGJk\nUWY95pQ/BWQaX0q4KxzRVxup+7gwT5sKFXU+ktFtsGMYoDoSzbZS\n-----END RSA PRIVATE KEY-----\n",
              "user_id": "e4f380899b1248918f3d37098dc63746",
              "name": "demo123",
              "fingerprint": "49:ef:73:2b:9b:7f:2e:0c:58:d3:e3:42:8e:28:04:3b"
          }
      }
  • 导入SSH密钥对公钥
    • 导入SSH密钥对公钥请求样例
      {
          "keypair": {
              "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyNtFZM04PFxERvZU5OBKTKr3mtRZABe5/+zX81lTgDFCBfq6OXia47M4qXOa3ciBEKKZF+fMfs8U2UNB9aK1R/uORsoEFtxSgZnWG6p4Ct1vnrqwDD934VaDFPEn+h3JeAfvTB+Ag1YQ9zh9uYyE9Z3qZcC9+Ui93BDGdBtQeav4odxdwXcr2mT2jJV0nsocV0O4UcKM8BaIm8eqbcroZEkyxqT3mUoSbmGx1hrngjBsP1ufgwJ6D85LFGQC1SjIOLvsR9i6v41BaLF8/kygvKOh2HlNVSMx38g52sTqoQ/xb3f8vR1VDXliAuD0frrG2Fy5wK4rOAnjuX9nh0bC9 Generated-by-Nova\n",
              "name": "demo3"
          }
      }
    • 导入SSH密钥对公钥响应样例
      {
          "keypair": {
              "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyNtFZM04PFxERvZU5OBKTKr3mtRZABe5/+zX81lTgDFCBfq6OXia47M4qXOa3ciBEKKZF+fMfs8U2UNB9aK1R/uORsoEFtxSgZnWG6p4Ct1vnrqwDD934VaDFPEn+h3JeAfvTB+Ag1YQ9zh9uYyE9Z3qZcC9+Ui93BDGdBtQeav4odxdwXcr2mT2jJV0nsocV0O4UcKM8BaIm8eqbcroZEkyxqT3mUoSbmGx1hrngjBsP1ufgwJ6D85LFGQC1SjIOLvsR9i6v41BaLF8/kygvKOh2HlNVSMx38g52sTqoQ/xb3f8vR1VDXliAuD0frrG2Fy5wK4rOAnjuX9nh0bC9 Generated-by-Nova\n",
              "user_id": "e4f380899b1248918f3d37098dc63746",
              "name": "demo1",
              "fingerprint": "b4:9a:c3:12:c4:90:bf:8e:7a:e2:70:10:c3:00:55:3f"
          }
      }
      {
          "error_code": "KPS.XXXX",
          "error_msg": "XXXX"
      }
  • 导入SSH密钥对公钥并托管私钥
    • 导入SSH密钥对公钥并托管私钥请求样例
      {
          "keypair": {
              "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDb26UrW0htRbE/Ygf8EPhzanBCc+5yEhkgmeSb2hTe48YRE5FdJKH6tueyj+vw5guoKjAITLjqZCqffGYXz/7aXpFt244b9tTzh2l43uNtEZC+XZtc6KiBgfWupFI8O2i9YjJqdadsr+4Ad4AtIBbF++qsSJN4YycPX//Gl8ja6AGPy4sdv8DZ40Gr8d+dMQ4pAsnUEtZ3jJ6NLdQU2CE1JhBdg3hbVbeh44gqQtSjhxWaSTlr+NbVxSERtXXpsQWsid6qM1RhqH2+02cqXq5oNs4JLdu56pcTgSO5azTsGYJi6j5qp5BAdjMrFtHjbaeVVWtkO1XQxfpueCJ470lx Generated-by-Nova\n",
              "name": "demo4",
              "key_protection": {
                  "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA29ulK1tIbUWxP2IH/BD4c2pwQnPuchIZIJnkm9oU3uPGEROR\nXSSh+rbnso/r8OYLqCowCEy46mQqn3xmF8/+2l6RbduOG/bU84dpeN7jbRGQvl2b\nXOiogYH1rqRSPDtovWIyanWnbK/uAHeALSAWxfvqrEiTeGMnD1//xpfI2ugBj8uL\nHb/A2eNBq/HfnTEOKQLJ1BLWd4yejS3UFNghNSYQXYN4W1W3oeOIKkLUo4cVmkk5\na/jW1cUhEbV16bEFrIneqjNUYah9vtNnKl6uaDbOCS3bueqXE4EjuWs07BmCYuo+\naqeQQHYzKxbR422nlVVrZDtV0MX6bngieO9JcQIDAQABAoIBAAVSEXM1KFGMqDdy\ndeMBviF85+6Tw6d7DKSfVMr4whyKwpZTNOdeJZVdq8nEdd9Eke+l5bets6PofKeT\naR0WaYJ7W2WfNJc0p/6kvkawjixrimcw+LuM3dcUgA+T5nGStnwuzi2JX13f/BCC\n09VDu4lbCVjWAMufCqjyl8wEjFXP0Amhu8fpDvqHuhGvDkoVWRm9vDEeyz71P25K\n/UUs7kXw5Qv0VRcm15b+2jO6tii3RTo+JaTvkYXoI/qrOjiQhQD88geiOPQVuffa\nzJhDw4/2GdHaCwEN6mzwKCYCfcPTRbM503F1YlceiP9w2qScToao+5B2okN9cIE8\nTV4vmIkCgYEA+vo/TKqFep2D6DPY3dNRu2bHIYikBMtYMCIKJ1bgQ1xS/FjEJfSj\notdDcBEik+0VEV05BCHNduTiMt6rTUD9fpqDduV8PfsskAAZZjndbyUEGP/KrCvS\nJsd2BFa2G7In/3wz3zw+3P77Aegb+zHJfDyqYWReNkYy5tSsaZ9Oz38CgYEA4EH5\nIXQPhJt9683JmK/INiyhW6WqKOAZkvjKpUpdUpGdVHJI/9dfUYI9wxnybgAkOZVL\noErxMTdRCDev8nVAq/OwC/4jI5YnBGkN3ZRxIkCrepzwxIXgWeJiwWqsvdDbosfM\nN0Q6PvUnPTXEly8RGcH9ABTQvQ9Nq4rQyjQvXw8CgYEAuK8hmWb55iq3AE32zfVM\n9ZxB+Jk2KRkBghnqYtx5Fth/cJZZcJy/NXs2cucJDNWvZSG2bSX6rfzrvwdAAw9J\n+rn0968TaADG4AhSqHj4S2tvwn2oRF3SvRqV68drJqJI8KYS/bi1gaZYSyTkQkp2\nu+dgcV6MPWAW4OmrHeZO9j0CgYEAkY8Az4/vipkKkIWP9oUSJOevDDdpTQK4VscZ\ncVPlYvSU8/0CGN2IRvWMdRhgXLnGyYF4BuDd0J4hAH50u6ETiwivGfmogS6ywJAX\nqdzx2dOz+e/n7wceafkhNH2zBbmM9glNKgok7DxfbcF6is7IALoDJ4xbOHu4ZEHD\n55sbrE0CgYEAuOuiISgfbujENFFPW0nvUmNqbkAH5YW1oUIWYA+64z7wcWyvzxRS\nYml2XLWyrJy3JNzHpLoe4mCBxz+HGrftZ0/qfQ/WDZrY/Djp7/xIkPyI9EwsRTYC\nr1PtWvVws3y3hgdo6WVQMaeUqtLSiTugyuuPqidH+/QtwxObunNH6Ns=\n-----END RSA PRIVATE KEY-----\n",
                  "encryption": {
                      "type": "kms",
                      "kms_key_name": "testName"
                  }
              }
          }
      }
    • 导入SSH密钥对公钥并托管私钥响应样例
      {
          "keypair": {
              "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyNtFZM04PFxERvZU5OBKTKr3mtRZABe5/+zX81lTgDFCBfq6OXia47M4qXOa3ciBEKKZF+fMfs8U2UNB9aK1R/uORsoEFtxSgZnWG6p4Ct1vnrqwDD934VaDFPEn+h3JeAfvTB+Ag1YQ9zh9uYyE9Z3qZcC9+Ui93BDGdBtQeav4odxdwXcr2mT2jJV0nsocV0O4UcKM8BaIm8eqbcroZEkyxqT3mUoSbmGx1hrngjBsP1ufgwJ6D85LFGQC1SjIOLvsR9i6v41BaLF8/kygvKOh2HlNVSMx38g52sTqoQ/xb3f8vR1VDXliAuD0frrG2Fy5wK4rOAnjuX9nh0bC9 Generated-by-Nova\n",
              "user_id": "e4f380899b1248918f3d37098dc63746",
              "name": "demo1",
              "fingerprint": "b4:9a:c3:12:c4:90:bf:8e:7a:e2:70:10:c3:00:55:3f"
          }
      }
      {
          "error_code": "KPS.XXXX",
          "error_msg": "XXXX"
      }

状态码

请参考状态码