调用AttachKeyPair绑定一个SSH密钥对到一台或多台Linux实例。

接口说明

当您使用该接口时,需要注意:

  • Windows实例不支持SSH密钥对。
  • 绑定SSH密钥对后,将禁用用户名加密码的验证方式。
  • 如果实例处于运行中(Running)状态,重启实例(RebootInstance)后,SSH密钥对生效。
  • 如果实例处于已停止(Stopped)状态,启动实例(StartInstance)后,SSH密钥对生效。
  • 如果实例已经绑定了SSH密钥对,新的SSH密钥对自动替换原来的SSH密钥对。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String AttachKeyPair

系统规定参数。取值:AttachKeyPair

InstanceIds String ["i-xxxxxxxxx", "i-yyyyyyyyy", … "i-zzzzzzzzz"]

绑定SSH密钥对的实例ID。取值可以由多台实例ID组成一个JSON数组,最多支持50个ID,ID之间用半角逗号(,)隔开。

KeyPairName String FinanceJoshuaV25

SSH密钥对名称。

RegionId String cn-hangzhou

SSH密钥对所在的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

返回数据

名称 类型 示例值 描述
FailCount String 0

绑定密钥对失败的实例数量。

KeyPairName String FinanceJoshuaV25

密钥对的名称。

RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

请求ID。

Results Array

绑定密钥对成功或失败的结果集合。

Result
Code String 200

传递的操作状态码,其中200表示操作成功。

InstanceId String i-instanceid1

实例ID。

Message String successful

传递的操作信息,当code=200时,message为successful。

Success String true

此次操作是否成功。

TotalCount String 2

绑定密钥对的实例总数量。

示例

请求示例

https://ecs.aliyuncs.com/?Action=AttachKeyPair
&InstanceIds=["i-xxxxxxxxx", "i-yyyyyyyyy", … "i-zzzzzzzzz"]
&KeyPairName=FinanceJoshuaV25
&RegionId=cn-hangzhou
&<公共请求参数>

正常返回示例

XML 格式

<AttachKeyPairResponse>
	  <TotalCount>2</TotalCount>
	  <RequestId>4ADF7A06-66BD-4FBF-A2ED-2364E41D8C06</RequestId>
	  <Results>
		    <Result>
			      <Message>successful</Message>
			      <InstanceId>i-m5eg7be9ndloji64j***</InstanceId>
			      <Success>true</Success>
			      <Code>200</Code>
		    </Result>
		    <Result>
			      <Message>successful</Message>
			      <InstanceId>i-m5e25x2mwr0hk33dw***</InstanceId>
			      <Success>true</Success>
			      <Code>200</Code>
		    </Result>
	  </Results>
	  <FailCount>0</FailCount>
</AttachKeyPairResponse>

JSON 格式

{
    "TotalCount": 2,
    "RequestId": "4ADF7A06-66BD-4FBF-A2ED-2364E41D8C06",
    "Results": {
        "Result": [
            {
                "Message": "successful",
                "InstanceId": "i-m5eg7be9ndloji64j***",
                "Success": true,
                "Code": "200"
            },
            {
                "Message": "successful",
                "InstanceId": "i-m5e25x2mwr0hk33dw***",
                "Success": true,
                "Code": "200"
            }
        ]
    },
    "FailCount": 0
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidKeyPairName.NotFound The specified KeyPairName does not exist in our records. 指定的 KeyPairName 不存在。
403 DependencyViolation.WindowsInstance The instance creating is windows, cannot use ssh key pair to login 指定的实例是 windows 操作系统,此类实例不支持 SSH 密钥对登录。
403 InstanceKeyPairLimitExceeded Exceeding the allowed amount of instance that an key pair can attach. 单次处理的密钥对数量超出上限。
400 InvalidInstanceIds.ValueNotSupported The specified parameter InstanceIds is not valid. 指定的 InstanceId 参数不合法。
400 DependencyViolation.IoOptimize The specified parameter InstanceIds is not valid. 指定的实例 ID 不合法。

访问错误中心查看更多错误码。