All Products
Search
Document Center

Elastic Compute Service:AttachKeyPair

Last Updated:Dec 25, 2024

Binds an SSH key pair to one or more Linux instances.

Operation description

Take note of the following items:

  • SSH key pairs are not supported on Windows instances.
  • If an SSH key pair is bound to an instance, authentication by using the username and password is disabled for the instance.
  • If you bind an SSH key pair to an instance in the running state, you must call the RebootInstance operation to restart the instance for the key pair to take effect.
  • If you bind an SSH key pair to an instance in the stopped state, you must call the StartInstance operation to start the instance for the key pair to take effect.
  • If an instance is already bound to an SSH key pair, the new SSH key pair will replace the original one.

Debugging

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
ecs:AttachKeyPairupdate
*Instance
acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}
*KeyPair
acs:ecs:{#regionId}:{#accountId}:keypair/{#keypairName}
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
RegionIdstringYes

The region ID of the SSH key pair. You can call the DescribeRegions operation to query the most recent region list.

cn-hangzhou
KeyPairNamestringYes

The name of the SSH key pair.

testKeyPairName
InstanceIdsstringYes

The IDs of instances to which you want to bind the SSH key pair. The value can be a JSON array that consists of up to 50 instance IDs. Separate multiple instance IDs with commas (,).

["i-bp1gtjxuuvwj17zr****", "i-bp17b7zrsbjwvmfy****", … "i-bp1h6jmbefj1ytos****"]

Response parameters

ParameterTypeDescriptionExample
object
KeyPairNamestring

The name of the SSH key pair.

testKeyPairName
RequestIdstring

The request ID.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
TotalCountstring

The total number of instances to which the SSH key pair is bound.

2
FailCountstring

The number of instances to which the SSH key pair fails to be bound.

0
Resultsarray<object>

An array that contains the results of the operation.

Resultobject
Codestring

The operation status code returned. 200 indicates that the operation was successful.

200
Messagestring

The operation information returned. When the value of Code is 200, the value of Message is successful.

successful
InstanceIdstring

The instance ID.

i-m5eg7be9ndloji64****
Successstring

Indicates whether the request was successful.

true

Examples

Sample success responses

JSONformat

{
  "KeyPairName": "testKeyPairName",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
  "TotalCount": "2",
  "FailCount": "0",
  "Results": {
    "Result": [
      {
        "Code": "200",
        "Message": "successful",
        "InstanceId": "i-m5eg7be9ndloji64****",
        "Success": "true"
      }
    ]
  }
}

Error codes

HTTP status codeError codeError messageDescription
400InvalidKeyPairName.NotFoundThe specified KeyPairName does not exist in our records.The specified KeyPairName parameter does not exist.
400InvalidInstanceIds.ValueNotSupportedThe specified parameter InstanceIds is not valid.The specified InstanceIds parameter is invalid.
400DependencyViolation.IoOptimizeThe specified parameter InstanceIds is not valid.The specified instance ID is invalid. The specified instance is not an I/O optimized instance.
403DependencyViolation.WindowsInstanceThe instance creating is windows, cannot use ssh key pair to loginThe specified instance is a Windows instance and does not support logons using SSH key pairs.
403InstanceKeyPairLimitExceededThe specified instances are beyond the permitted range.-

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2024-12-17API Description Update. The Error code has changedView Change Details
2023-07-17The Error code has changedView Change Details