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

Amazon SDK for JavaScriptV3 API 参考指南详细描述了Amazon SDK for JavaScript版本 3 (V3) 的所有 API 操作。

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

使用 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 模块使用 SDK 来 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/CommonJS 语法

描述您的密钥对

创建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.