Updated on 2026-09-21 GMT+08:00

Binding SSH Key Pairs in Batches

Function

This API is used to bind SSH key pairs to a specified VM in batches.

Calling Method

For details, see Calling APIs.

URI

POST /v3/{project_id}/keypairs/batch-associate

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition

Project ID. For details, see Obtaining a Project ID.

Constraints

N/A

Range

The value returned by the IAM API is used, which contains 32 characters.

Default Value

N/A

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token. It can be obtained by calling the IAM API. The value of X-Subject-Token in the response header is the user token.

Constraints

N/A

Range

Obtain the value by calling the IAM API for obtaining the user token.

Default Value

N/A

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

batch_keypairs

Yes

Array of AssociateKeypairRequestBody objects

Definition

List of key pairs to be bound

Constraints

  • At most 10 ECSs can be bound to a key pair at a time.

  • Only the same key pair can be selected. The ECS must be running and has not been bound to a key pair.

Range

N/A

Default Value

N/A

Table 4 AssociateKeypairRequestBody

Parameter

Mandatory

Type

Description

keypair_name

Yes

String

Definition

SSH key pair name

Constraints

N/A

Range

N/A

Default Value

N/A

server

Yes

EcsServerInfo object

Definition

Information about the VM to which the key pair is to be bound

Constraints

N/A

Range

N/A

Default Value

N/A

Table 5 EcsServerInfo

Parameter

Mandatory

Type

Description

id

Yes

String

Definition

ID of the VM to which the SSH key pair is to be bound (replaced or reset)

Constraints

N/A

Range

N/A

Default Value

N/A

auth

No

Auth object

Definition

VM authentication information

Constraints

Optional. This parameter is required for key pair replacement but not required for key pair reset.

Range

N/A

Default Value

N/A

disable_password

No

Boolean

Definition

Whether to disable SSH login for the VM

Constraints

  • true: SSH login is disabled for the VM.

  • false: SSH login is not disabled for the VM.

Range

true or false

Default Value

false

port

No

Long

Definition

SSH listening port of the VM

Constraints

N/A

Range

0-65535

Default Value

22

Table 6 Auth

Parameter

Mandatory

Type

Description

type

No

String

Definition

VM authentication type

Constraints

  • password: Password authentication is used for the VM.

  • keypair: Key pair authentication is used for the VM.

Range

N/A

Default Value

N/A

key

No

String

Definition

VM authentication key

Constraints

  • If type is set to password, key indicates the password.

  • If type is set to keypair, key indicates the private key.

Range

N/A

Default Value

N/A

Response Parameters

Status code: 202

Table 7 Response body parameters

Parameter

Type

Description

tasks

Array of TaskResponseBody objects

Definition

List of tasks for binding key pairs in batches

Range

N/A

Table 8 TaskResponseBody

Parameter

Type

Description

task_id

String

Definition

Task ID returned when a task is delivered

Range

N/A

server_id

String

Definition

ID of the bound VM

Range

N/A

status

String

Definition

Task delivery status

Range

  • SUCCESS: Task delivered.

  • FAILED: Task delivery failed.

error_code

String

Definition

Error code returned when a task fails to be delivered

Range

N/A

error_msg

String

Definition

Error message returned when a task fails to be delivered

Range

N/A

Example Requests

{
  "batch_keypairs" : [ {
    "keypair_name" : "1",
    "server" : {
      "id" : "fxxx16e3-74b8-4025-9852-1f451932c20c",
      "disable_password" : false,
      "auth" : {
        "type" : "password",
        "key" : "password"
      }
    }
  }, {
    "keypair_name" : "1",
    "server" : {
      "id" : "4xxxxfc4-b4bf-49c2-b983-a1811c9760c1",
      "disable_password" : false,
      "auth" : {
        "type" : "password",
        "key" : "password"
      }
    }
  } ]
}

Example Responses

Status code: 202

Request succeeded.

{
  "tasks" : [ {
    "server_id" : "xxx",
    "task_id" : "xxx",
    "status" : "SUCCESS"
  }, {
    "server_id" : "xxx",
    "status" : "FAILED",
    "error_code" : "xxxx",
    "error_msg" : "xxxx"
  } ]
}

Status Codes

Status Code

Description

202

Request succeeded.

Error Codes

See Error Codes.