全部產品
Search
文件中心

Elastic Compute Service:AttachKeyPair

更新時間:Sep 11, 2026

綁定一個 SSH 金鑰對到一台或多台 Linux 執行個體。

介面說明

介面說明

當您使用該介面時,需要注意:

  • Windows 執行個體不支援 SSH 金鑰對。

  • 綁定 SSH 金鑰對後,將停用使用者名稱與密碼的驗證方式。

  • 如果執行個體處於執行中(Running)狀態,重新啟動執行個體( RebootInstance )後,SSH 金鑰對生效。

  • 如果執行個體處於已停止(Stopped)狀態,啟動執行個體( StartInstance )後,SSH 金鑰對生效。

  • 如果執行個體已經綁定了 SSH 金鑰對,新的 SSH 金鑰對會自動替換原來的 SSH 金鑰對。

  • 該介面為批次操作介面,支援部分成功。請求傳回 HTTP 200 僅表示請求已被處理,不代表所有執行個體都綁定成功。您需要透過 FailCount 以及 Results.Result[] 中每個元素的 Code 和 Success 欄位,逐台判斷執行個體的綁定結果:
    • 請求級錯誤:如參數無效、金鑰對不存在、執行個體數量超過 50 台上限等,在批次執行前被攔截,錯誤傳回在回應頂層(HTTP 狀態碼非 200),整批請求失敗。

    • 執行個體級錯誤:如 Windows 執行個體、執行個體目前狀態不支援、執行個體規格不支援等,只影響對應的單台執行個體,錯誤碼記錄在該執行個體對應的 Results.Result[] 元素中,整體請求仍傳回 HTTP 200。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

ecs:AttachKeyPair

update

*Instance

acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}

*KeyPair

acs:ecs:{#regionId}:{#accountId}:keypair/{#keypairName}

無 無

請求參數

名稱

類型

必填

描述

樣本值

RegionId

string

是

SSH 金鑰對所在的區域 ID。您可以呼叫 DescribeRegions 查看最新的阿里雲區域清單。

cn-hangzhou

KeyPairName

string

是

SSH 金鑰對名稱。

testKeyPairName

InstanceIds

string

是

綁定 SSH 金鑰對的執行個體 ID。取值可以由多台執行個體 ID 組成一個 JSON 陣列,最多支援 50 個 ID,ID 之間用半形逗號(,)隔開。

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

返回參數

名稱

類型

描述

樣本值

object

KeyPairName

string

金鑰對的名稱。

testKeyPairName

RequestId

string

請求 ID。

473469C7-AA6F-4DC5-B3DB-A3*****83E

TotalCount

string

綁定金鑰對的執行個體總數量。

2

FailCount

string

綁定金鑰對失敗的執行個體數量。

1

Results

object

Result

array<object>

綁定金鑰對成功或失敗的結果集合。

object

傳回結果。

Code

string

傳回的操作狀態碼,其中 200 表示操作成功。

200

Message

string

傳回的操作資訊,當 code=200 時,message 為 successful。

successful

InstanceId

string

執行個體 ID。

i-m5eg7be9ndloji64****

Success

string

此次操作是否成功。

true

樣本

正常返回樣本

JSON格式

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

錯誤碼

HTTP status code

錯誤碼

錯誤資訊

描述

400 InvalidKeyPairName.NotFound The specified KeyPairName does not exist in our records. 指定的 KeyPairName 不存在。
400 InvalidInstanceIds.ValueNotSupported The specified parameter InstanceIds is not valid. 指定的 InstanceIds 參數不合法。
400 DependencyViolation.IoOptimize The specified parameter InstanceIds is not valid. 指定的執行個體 ID 不合法,指定的執行個體 IO 最佳化設定不合法。
403 DependencyViolation.WindowsInstance The instance creating is windows, cannot use ssh key pair to login 金鑰對不支援 Windows 執行個體。
403 InstanceKeyPairLimitExceeded The specified instances are beyond the permitted range.

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情。