使用Amazon EC2密钥对 - AWS SDK for Java 2.x

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

使用Amazon EC2密钥对

创建密钥对

要创建 key pair,请调用 Ec2Client 的createKeyPair方法与CreateKeyPairRequest包含密钥的名称。

导入

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.CreateKeyPairRequest; import software.amazon.awssdk.services.ec2.model.CreateKeyPairResponse; import software.amazon.awssdk.services.ec2.model.Ec2Exception;

代码

public static void createEC2KeyPair(Ec2Client ec2,String keyName ) { try { CreateKeyPairRequest request = CreateKeyPairRequest.builder() .keyName(keyName).build(); ec2.createKeyPair(request); System.out.printf( "Successfully created key pair named %s", keyName); } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

请参阅 GitHub 上的完整示例

描述密钥对

要列出您的密钥对或获取相关信息,请致电 Ec2ClientdescribeKeyPairs方法。该方法返回 DescribeKeyPairsResponse,使用它后,您可以通过调用其 keyPairs 方法(返回一个 KeyPairInfo 对象的列表)来访问密钥对的列表。

导入

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DescribeKeyPairsResponse; import software.amazon.awssdk.services.ec2.model.KeyPairInfo; import software.amazon.awssdk.services.ec2.model.Ec2Exception;

代码

public static void describeEC2Keys( Ec2Client ec2){ try { DescribeKeyPairsResponse response = ec2.describeKeyPairs(); for(KeyPairInfo keyPair : response.keyPairs()) { System.out.printf( "Found key pair with name %s " + "and fingerprint %s", keyPair.keyName(), keyPair.keyFingerprint()); } } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

请参阅 GitHub 上的完整示例

删除密钥对

要删除 key pair,请致电 Ec2ClientdeleteKeyPair方法,传递一个DeleteKeyPairRequest其中包含要删除的 key pair 的名称。

导入

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DeleteKeyPairRequest; import software.amazon.awssdk.services.ec2.model.DeleteKeyPairResponse; import software.amazon.awssdk.services.ec2.model.Ec2Exception;

代码

public static void deleteKeys(Ec2Client ec2, String keyPair) { try { DeleteKeyPairRequest request = DeleteKeyPairRequest.builder() .keyName(keyPair) .build(); DeleteKeyPairResponse response = ec2.deleteKeyPair(request); System.out.printf( "Successfully deleted key pair named %s", keyPair); } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

请参阅 GitHub 上的完整示例

更多信息