全部产品
Search
文档中心

云服务器 ECS:AttachKeyPair

更新时间:Sep 12, 2023

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

接口说明

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

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

调试

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

请求参数

名称

类型

是否必选

示例值

描述

Action String AttachKeyPair

系统规定参数。取值:AttachKeyPair

RegionId String cn-hangzhou

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

KeyPairName String testKeyPairName

SSH密钥对名称。

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

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

返回数据

名称

类型

示例值

描述

KeyPairName String testKeyPairName

密钥对的名称。

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

请求ID。

TotalCount String 2

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

FailCount String 0

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

Results Array of Result

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

Result
Code String 200

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

Message String successful

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

InstanceId String i-m5eg7be9ndloji64****

实例ID。

Success String true

此次操作是否成功。

示例

请求示例

https://ecs.aliyuncs.com/?Action=AttachKeyPair
&InstanceIds=["i-bp1gtjxuuvwj17zr****", "i-bp17b7zrsbjwvmfy****", … "i-bp1h6jmbefj1ytos****"]
&KeyPairName=testKeyPairName
&RegionId=cn-hangzhou
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

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

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

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

错误码

HttpCode

错误码

错误信息

描述

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 操作系统,此类实例不支持 SSH 密钥对登录。

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