

 适用于 Java 的 Amazon SDK 1.x于2025年 end-of-support 12月31日达到。我们建议您迁移到 [Amazon SDK for Java 2.x](https://docs.amazonaws.cn/sdk-for-java/latest/developer-guide/home.html) 以继续获得新功能、可用性改进和安全更新。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Amazon EC2 密钥对
<a name="examples-ec2-key-pairs"></a>

## 创建密钥对
<a name="creating-a-key-pair"></a>

要创建密钥对，请使用包含密钥名称的 [CreateKeyPairRequest](https://docs.amazonaws.cn/sdk-for-java/v1/reference/com/amazonaws/services/ec2/model/CreateKeyPairRequest.html) 调用 AmazonEC2Client 的 `createKeyPair` 方法。

 **导入**。

```
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2ClientBuilder;
import com.amazonaws.services.ec2.model.CreateKeyPairRequest;
import com.amazonaws.services.ec2.model.CreateKeyPairResult;
```

 **代码** 

```
final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

CreateKeyPairRequest request = new CreateKeyPairRequest()
    .withKeyName(key_name);

CreateKeyPairResult response = ec2.createKeyPair(request);
```

请参阅[完整示例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/ec2/src/main/java/aws/example/ec2/CreateKeyPair.java)。

## 描述密钥对
<a name="describing-key-pairs"></a>

要列出密钥对或获取相关信息，请调用 AmazonEC2Client 的 `describeKeyPairs` 方法。它返回 [DescribeKeyPairsResult](https://docs.amazonaws.cn/sdk-for-java/v1/reference/com/amazonaws/services/ec2/model/DescribeKeyPairsResult.html)，您可以通过调用其 `getKeyPairs` 方法来访问密钥对的列表，该方法返回一个 [KeyPairInfo](https://docs.amazonaws.cn/sdk-for-java/v1/reference/com/amazonaws/services/ec2/model/KeyPairInfo.html) 对象的列表。

 **导入**。

```
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2ClientBuilder;
import com.amazonaws.services.ec2.model.DescribeKeyPairsResult;
import com.amazonaws.services.ec2.model.KeyPairInfo;
```

 **代码** 

```
final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

DescribeKeyPairsResult response = ec2.describeKeyPairs();

for(KeyPairInfo key_pair : response.getKeyPairs()) {
    System.out.printf(
        "Found key pair with name %s " +
        "and fingerprint %s",
        key_pair.getKeyName(),
        key_pair.getKeyFingerprint());
}
```

请参阅[完整示例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/ec2/src/main/java/aws/example/ec2/DescribeKeyPairs.java)。

## 删除密钥对
<a name="deleting-a-key-pair"></a>

要删除密钥对，请调用 AmazonEC2Client 的 `deleteKeyPair` 方法，将其传递给一个包含要删除密钥对名称的 [DeleteKeyPairRequest](https://docs.amazonaws.cn/sdk-for-java/v1/reference/com/amazonaws/services/ec2/model/DeleteKeyPairRequest.html)。

 **导入**。

```
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2ClientBuilder;
import com.amazonaws.services.ec2.model.DeleteKeyPairRequest;
import com.amazonaws.services.ec2.model.DeleteKeyPairResult;
```

 **代码** 

```
final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

DeleteKeyPairRequest request = new DeleteKeyPairRequest()
    .withKeyName(key_name);

DeleteKeyPairResult response = ec2.deleteKeyPair(request);
```

请参阅[完整示例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/ec2/src/main/java/aws/example/ec2/DeleteKeyPair.java)。

## 更多信息
<a name="more-information"></a>
+  《Amazon EC2 用户指南（适用于 Linux 实例）》中的 [Amazon EC2 密钥对](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
+  《Amazon EC2 API Reference》中的 [CreateKeyPair](https://docs.amazonaws.cn/AWSEC2/latest/APIReference/API_CreateKeyPair.html)
+  《Amazon EC2 API Reference》中的 [DescribeKeyPairs](https://docs.amazonaws.cn/AWSEC2/latest/APIReference/API_DescribeKeyPairs.html)
+  《Amazon EC2 API Reference》中的 [DeleteKeyPair](https://docs.amazonaws.cn/AWSEC2/latest/APIReference/API_DeleteKeyPair.html)