Updated on 2026-06-09 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.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    kps:SSHKeyPair:bind

    Write

    SSHKeyPair *

    -

    kps:domainKeypairs:bind

    • ecs:cloudServers:createServers
    • ecs:cloudServers:deleteServers
    • ecs:cloudServers:showServer
    • ecs:cloudServers:attach
    • ecs:cloudServers:listServerBlockDevices
    • ecs:cloudServers:showServerBlockDevice
    • ecs:cloudServers:detachVolume
    • ecs:cloudServers:listServerInterfaces
    • ecs:cloudServers:listServersDetails
    • ecs:cloudServerFlavors:get
    • ecs:cloudServerQuotas:get
    • evs:types:get
    • evs:volumes:use
    • ims:images:get
    • vpc:subnets:list

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.