使用 Amazon EC2 密钥对 - Amazon SDK for JavaScript
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

帮助我们改进Amazon SDK for JavaScript版本 3 (V3) 文档,方法是使用反馈链接,或者在上创建议题或拉取请求GitHub.

这些区域有:Amazon SDK for JavaScriptV3 API 参考指南详细描述了Amazon SDK for JavaScript版本 3 (V3)。

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

使用 Amazon EC2 密钥对

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何检索有关密钥对的信息。

  • 如何创建 key pair 来访问 Amazon EC2 实例。

  • 如何删除现有密钥对。

场景

Amazon EC2 使用公有密钥密码系统来加密和解密登录信息。公有密钥密码系统使用公有密钥加密数据,然后收件人可以使用私有密钥解密数据。公有和私有密钥被称为密钥对

在本示例中,您使用一系列 Node.js 模块执行多个 Amazon EC2 key pair 管理操作。Node.js 模块使用适用于 JavaScript 的开发工具包,通过 Amazon EC2 客户端类的下列方法来管理实例:

有关 Amazon EC2 密钥对的更多信息,请参阅Amazon EC2 密钥对中的适用于 Linux 实例的 Amazon EC2 用户指南要么Amazon EC2 密钥对和 Windows 实例中的适用于 Windows 实例的 Amazon EC2 用户指南.

前提任务

要设置和运行此示例,请先完成以下任务:

重要

这些示例使用 ECMASCRIPT6 (ES6)。这需要 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅Node.js 下载内容:。.

但是,如果你更喜欢使用 CommonJS 语法,请参阅JavaScript ES6/常用JS 语法

描述您的密钥对

创建libs创建文件名为的 Node.js 模块ec2Client.js. 将下面的代码复制并粘贴到其中,这将创建 Amazon EC2 客户端对象。Replace领域使用您的Amazon区域。

const { EC2Client } = require( "@aws-sdk/client-ec2"); // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create anAmazon EC2 service client object. const ec2Client = new EC2Client({ region: REGION }); module.exports = { ec2Client };

可以找到以下示例代码:GitHub 上的.

创建文件名为 ec2_describekeypairs.js 的 Node.js 模块。请确保按前面所示配置开发工具包。创建空的 JSON 对象,以保存 DescribeKeyPairsCommand 方法为返回全部密钥对的描述所需的参数。您还可以在 JSON 文件的参数的 KeyName 部分中将密钥对名称数组提供给 DescribeKeyPairsCommand 方法。

// Import required AWS SDK clients and commands for Node.js import { DescribeKeyPairsCommand } from "@aws-sdk/client-ec2"; import { ec2Client } from "./libs/ec2Client"; const run = async () => { try { const data = await ec2Client.send(new DescribeKeyPairsCommand({})); console.log("Success", JSON.stringify(data.KeyPairs)); return data; } catch (err) { console.log("Error", err); } }; run();

要运行示例,请在命令提示符下输入以下内容。

node ec2_describekeypairs.js

可以找到以下示例代码:GitHub 上的.

创建密钥对

创建libs创建文件名为的 Node.js 模块ec2Client.js. 将下面的代码复制并粘贴到其中,这将创建 Amazon EC2 客户端对象。Replace领域使用您的Amazon区域。

const { EC2Client } = require( "@aws-sdk/client-ec2"); // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create anAmazon EC2 service client object. const ec2Client = new EC2Client({ region: REGION }); module.exports = { ec2Client };

可以找到以下示例代码:GitHub 上的.

每个密钥对需要一个名称。Amazon EC2 将公有密钥与您指定的密钥名称相关联。创建文件名为 ec2_createkeypair.js 的 Node.js 模块。确保按前面所示配置开发工具包,包括安装所需的客户端和软件包。创建 JSON 参数,指定密钥对的名称,然后传递它们来调用 CreateKeyPairCommand 方法。

注意

ReplaceMY_KEY_PAIR带有 key pair 的名称。

// Import required AWS SDK clients and commands for Node.js import { CreateKeyPairCommand } from "@aws-sdk/client-ec2"; import { ec2Client } from "./libs/ec2Client"; // Set the parameters const params = { KeyName: "MY_KEY_PAIR" }; //MY_KEY_PAIR const run = async () => { try { const data = await ec2Client.send(new CreateKeyPairCommand(params)); console.log(JSON.stringify(data)); return data; } catch (err) { console.log("Error", err); } }; run();

要运行示例,请在命令提示符下输入以下内容。

node ec2_createkeypair.js

可以找到示例代码GitHub 上的.

删除 key pair

创建libs创建文件名为的 Node.js 模块ec2Client.js. 将下面的代码复制并粘贴到其中,这将创建 Amazon EC2 客户端对象。Replace领域使用您的Amazon区域。

const { EC2Client } = require( "@aws-sdk/client-ec2"); // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create anAmazon EC2 service client object. const ec2Client = new EC2Client({ region: REGION }); module.exports = { ec2Client };

可以找到以下示例代码:GitHub 上的.

创建文件名为 ec2_deletekeypair.js 的 Node.js 模块。确保按前面所示配置开发工具包,包括安装所需的客户端和软件包。要访问 Amazon EC2,请创建EC2客户端服务对象。创建 JSON 参数,指定您要删除的密钥对的名称。然后调用 DeleteKeyPairCommand 方法。

注意

ReplaceKEY_PAIR_NAME使用您要删除的 key pair 的名称。

// Import required AWS SDK clients and commands for Node.js import { DeleteKeyPairCommand } from "@aws-sdk/client-ec2"; import { ec2Client } from "./libs/ec2Client"; // Set the parameters const params = { KeyName: "KEY_PAIR_NAME" }; //KEY_PAIR_NAME const run = async () => { try { const data = await ec2Client.send(new DeleteKeyPairCommand(params)); console.log("Key Pair Deleted"); return data; } catch (err) { console.log("Error", err); } }; run();

要运行示例,请在命令提示符下输入以下内容。

node ec2_deletekeypair.js

可以找到以下示例代码:GitHub 上的.