将 ImportKeyPair 与 CLI 配合使用
以下代码示例演示如何使用 ImportKeyPair。
- CLI
-
- AWS CLI
-
导入公有密钥
首先,使用您选择的工具生成密钥对。例如,使用此 ssh-keygen 命令:
命令:
ssh-keygen -t rsa -C "my-key" -f ~/.ssh/my-key输出:
Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ec2-user/.ssh/my-key. Your public key has been saved in /home/ec2-user/.ssh/my-key.pub. ...此示例命令导入指定的公有密钥。
命令:
aws ec2 import-key-pair --key-name"my-key"--public-key-materialfileb://~/.ssh/my-key.pub输出:
{ "KeyName": "my-key", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca" }-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ImportKeyPair
。
-
- PowerShell
-
- Tools for PowerShell V4
-
示例 1:此示例将公有密钥导入到 EC2。第一行将公有密钥文件(*.pub)的内容存储在变量
$publickey中。接下来,该示例将公有密钥文件的 UTF8 格式转换为 Base64 编码的字符串,并将转换后的字符串存储在变量$pkbase64中。在最后一行中,将转换后的公有密钥导入到 EC2。cmdlet 将密钥指纹和名称作为结果返回。$publickey=[Io.File]::ReadAllText("C:\Users\TestUser\.ssh\id_rsa.pub") $pkbase64 = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($publickey)) Import-EC2KeyPair -KeyName Example-user-key -PublicKey $pkbase64输出:
KeyFingerprint KeyName -------------- ------- do:d0:15:8f:79:97:12:be:00:fd:df:31:z3:b1:42:z1 Example-user-key-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 ImportKeyPair。
-
- Tools for PowerShell V5
-
示例 1:此示例将公有密钥导入到 EC2。第一行将公有密钥文件(*.pub)的内容存储在变量
$publickey中。接下来,该示例将公有密钥文件的 UTF8 格式转换为 Base64 编码的字符串,并将转换后的字符串存储在变量$pkbase64中。在最后一行中,将转换后的公有密钥导入到 EC2。cmdlet 将密钥指纹和名称作为结果返回。$publickey=[Io.File]::ReadAllText("C:\Users\TestUser\.ssh\id_rsa.pub") $pkbase64 = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($publickey)) Import-EC2KeyPair -KeyName Example-user-key -PublicKey $pkbase64输出:
KeyFingerprint KeyName -------------- ------- do:d0:15:8f:79:97:12:be:00:fd:df:31:z3:b1:42:z1 Example-user-key-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V5)》中的 ImportKeyPair。
-
有关 AWS SDK 开发人员指南和代码示例的完整列表,请参阅 使用 AWS SDK 创建 Amazon EC2 资源。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。
ImportImage
ImportSnapshot