Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门。创建密钥对
您可以使用 Amazon EC2 创建 RSA 或 ED25519 密钥对,或者可以使用第三方工具创建密钥对并将公有密钥导入 Amazon EC2。
有关在创建密钥对后使用 SSH 连接到您的 Linux 实例的步骤,请参阅连接到您的 Linux 实例。
使用 Amazon EC2 创建密钥对
当您使用 Amazon EC2 创建密钥对时,公有密钥将存储在 Amazon EC2 中,您需要存储私有密钥。
您可以使用 Amazon EC2 通过以下方法之一创建密钥对。
- Console
-
要使用 Amazon EC2 创建密钥对
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/。
-
在导航窗格中的 Network & Security 下,选择 Key Pairs。
-
选择 Create key pair (创建密钥对)。
-
对于 Name (名称),为模板输入一个描述性名称。Amazon EC2 将公有密钥与您指定的密钥名称相关联。密钥名称最多可包含 255 个 ASCII 字符。它不能包含前导空格或尾随空格。
-
对于 Key pair type(密钥对类型),选择 RSA 或者 ED25519。
-
对于 Private key file format(私有密钥文件格式),选择要保存私有密钥的格式。要以可与 OpenSSH 一起使用的格式保存私有密钥,请选择 pem。要以可与 PuTTY 一起使用的格式保存私有密钥,请选择 ppk。
-
要添加标签到公有密钥,请选择 Add tag(添加标签),然后输入标签的键和值。对每个标签重复此操作。
-
选择 Create key pair (创建密钥对)。
-
您的浏览器会自动下载私有密钥文件。基本文件名是指定为密钥对名称的名称,文件扩展名由您选择的文件格式确定。将私有密钥文件保存在安全位置。
-
如果您将在 macOS 或 Linux 计算机上使用 SSH 客户端连接到您的 Linux 实例,请使用以下命令设置您私有密钥文件的权限,以确保只有您可以读取它。
chmod 400 key-pair-name
.pem
如果不设置这些权限,则无法使用此密钥对连接到实例。有关更多信息,请参阅错误:未保护的私有密钥文件。
- Amazon CLI
-
要使用 Amazon EC2 创建密钥对
-
按如下方式使用 create-key-pair 命令生成密钥对,并将私有密钥保存到 .pem
文件中。
对于 --key-name
,为公有密钥指定一个名称。该名称最多为 255 个 ASCII 字符。
对于 --key-type
,请指定 rsa
或 ed25519
。如果您不包括 --key-type
参数,原定设置创建一个 rsa
密钥。请注意,Windows 实例不支持 ED25519 密钥。
对于 --key-format
,请指定 pem
或 ppk
。如果您不包括 --key-format
参数,原定设置将创建一个 pem
文件。
--query "KeyMaterial"
将私有密钥材料打印到输出中。
--output text > my-key-pair.pem
会将私有密钥材料保存在一个具有指定扩展名的文件中。该扩展名可以是 .pem
或 .ppk
。私有密钥的名称可以与公有密钥的名称不同,但为了便于使用,请使用相同的名称。
aws ec2 create-key-pair \
--key-name my-key-pair
\
--key-type rsa
\
--key-format pem
\
--query "KeyMaterial" \
--output text > my-key-pair.pem
-
如果您将在 macOS 或 Linux 电脑上使用 SSH 客户端连接到您的 Linux 实例,请使用以下命令设置您私有密钥文件的权限,以确保只有您可以读取它。
chmod 400 key-pair-name
.pem
如果不设置这些权限,则无法使用此密钥对连接到实例。有关更多信息,请参阅错误:未保护的私有密钥文件。
- PowerShell
-
要使用 Amazon EC2 创建密钥对
按如下所示使用 New-EC2KeyPair Amazon Tools for Windows PowerShell 命令生成密钥,并将其保存到 .pem
或 .ppk
文件中。
对于 -KeyName
,为公有密钥指定一个名称。该名称最多为 255 个 ASCII 字符。
对于 -KeyType
,请指定 rsa
或 ed25519
。如果您不包括 -KeyType
参数,原定设置创建一个 rsa
密钥。请注意,Windows 实例不支持 ED25519 密钥。
对于 -KeyFormat
,请指定 pem
或 ppk
。如果您不包括 -KeyFormat
参数,原定设置将创建一个 pem
文件。
KeyMaterial
将私有密钥材料打印到输出中。
Out-File -Encoding ascii -FilePath
C:\path\my-key-pair
.pem
会将私有密钥材料保存在一个具有指定扩展名的文件中。该扩展名可以是 .pem
或 .ppk
。私有密钥的名称可以与公有密钥的名称不同,但为了便于使用,请使用相同的名称。
PS C:\>
(New-EC2KeyPair -KeyName "my-key-pair
" -KeyType "rsa
" -KeyFormat "pem
").KeyMaterial | Out-File -Encoding ascii -FilePath C:\path\my-key-pair
.pem
使用第三方工具创建密钥对,并将公有密钥导入 Amazon EC2
如果不使用 Amazon EC2 创建密钥对,您可以使用第三方工具创建一个 RSA 或 ED25519 密钥对,然后将公有密钥导入 Amazon EC2。
要使用第三方工具创建密钥对
-
使用您选择的第三方工具生成密钥对。例如,您可以使用 ssh-keygen(通过标准 OpenSSH 安装提供的工具)。或者,您可以使用 Java、Ruby、Python 和很多其他提供标准库的编程语言来创建 RSA 或 ED25519 密钥对。
私有密钥必须采用 PEM 或 PPK 格式。例如,使用 ssh-keygen -m PEM
生成 PEM 格式的 OpenSSH 密钥。
-
将公有密钥保存至本地文件。例如:~/.ssh/my-key-pair.pub
。此文件的文件扩展名并不重要。
-
将私有密钥保存至扩展名为 .pem
或 .ppk
的本地文件。例如,~/.ssh/my-key-pair.pem
或 ~/.ssh/my-key-pair.ppk
。
将私有密钥文件保存在安全位置。当您启动实例时,您将需要提供公有密钥的名称;当您每次连接到实例时,您将需要提供相应的私有密钥。
创建密钥对后,使用以下方法之一将公有密钥导入到 Amazon EC2。
- Console
-
要将公有密钥导入至 Amazon EC2
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/。
-
在导航窗格中,选择 Key Pairs (密钥对)。
-
选择 Import key pair (导入密钥对)。
-
对于 Name(名称),为公有密钥输入一个描述性名称。该名称最多可包含 255 个 ASCII 字符。它不能包含前导空格或尾随空格。
当您从 EC2 控制台连接到实例时,控制台会建议使用此名称作为私有密钥文件的名称。
-
选择 Browse (浏览) 以导航到您的公有密钥并选择它,或者将公有密钥的内容粘贴到 Public key contents (公有密钥内容) 字段中。
-
选择 Import key pair (导入密钥对)。
-
验证您导入的公有密钥是否显示在密钥对列表中。
- Amazon CLI
-
要将公有密钥导入至 Amazon EC2
使用 import-key-pair Amazon CLI 命令。
验证密钥对是否已成功导入
使用 describe-key-pairs Amazon CLI 命令。
- PowerShell
-
要将公有密钥导入至 Amazon EC2
使用 Import-EC2KeyPair Amazon Tools for Windows PowerShell 命令。
验证密钥对是否已成功导入
使用 Get-EC2KeyPair Amazon Tools for Windows PowerShell 命令。