Amazon EC2 インスタンスのキーペアを作成する
Amazon EC2 を使用してキーペアを作成できます。または、サードパーティー製のツールを使用して、キーペアを作成してから、Amazon EC2 にインポートすることもできます。
Amazon EC2 は、Linux および Windows インスタンスで 2048-bit SSH-2 RSA キーをサポートしています。Amazon EC2 は、Linux インスタンスでは ED25519 キーもサポートしています。
キーペアの作成後にインスタンスに接続する方法については、「SSH を使用した Linux インスタンスへの接続」と「RDP を使用した Windows インスタンスへの接続」を参照してください。
内容
Amazon EC2 を使用してキーペアを作成する
Amazon EC2 を使用してキーペアを作成すると、パブリックキーは Amazon EC2 内に保存されます。プライベートキーは、自分で保存します。
リージョンごとに最大 5,000 のキーペアを作成できます。増加をリクエストするには、サポートケースを作成します。詳細については、「AWS Support ユーザーガイド」の「サポートケースの作成」を参照してください。
AWS CloudFormation を使用してキーペアを作成する
AWS CloudFormation を使用して新しいキーペアを作成すると、プライベートキーは AWS Systems Manager パラメータストアに保存されます。パラメータ名の形式は次のとおりです。
/ec2/keypair/key_pair_id
詳細については、「AWS Systems Manager ユーザーガイド」の「AWS Systems Manager パラメータストア」を参照してください。
AWS CloudFormation を使用してキーペアを作成するには
-
テンプレートに AWS::EC2::KeyPair リソースを指定します。
Resources: NewKeyPair: Type: 'AWS::EC2::KeyPair' Properties: KeyName: new-key-pair
-
キーペアの ID を取得するには、次のように describe-key-pairs コマンドを使用します。
aws ec2 describe-key-pairs --filters Name=key-name,Values=
new-key-pair
--query KeyPairs[*].KeyPairId --output text以下は出力例です。
key-05abb699beEXAMPLE
-
キーのパラメータを取得するために、次のように get-parameter コマンドを使用して、キーマテリアルを
.pem
ファイルに保存します。aws ssm get-parameter --name /ec2/keypair/
key-05abb699beEXAMPLE
--with-decryption --query Parameter.Value --output text >new-key-pair.pem
必要な IAM 許可
AWS CloudFormation がユーザーに代わって Parameter Store パラメータを管理できるようにするには、AWS CloudFormation またはユーザーにより引き受けられた IAM ロールは、次の許可を持っている必要があります。
-
ssm:PutParameter
– プライベートキーマテリアル用パラメーターの削除を許可します。 -
ssm:DeleteParameter
- プライベートキーマテリアルを保存したパラメータの削除する許可を付与します。この権限は、キーペアが AWS CloudFormation によってインポートまたは作成されたかに関係なく必要です。
スタックによって作成またはインポートされたキーペアを AWS CloudFormation が削除する場合、AWS CloudFormation がキーペアをインポートする際ではなく、キーペアを作成する際にのみパラメーターを作成する場合でも権限チェックが実行され、パラメータを削除する権限があるかどうかが判断されます。AWS CloudFormation はアカウント内のどのパラメータとも一致しない偽造パラメータ名を使用して必要なアクセス許可をテストします。そのため、AccessDeniedException
エラーメッセージに偽造されたパラメータ名が表示されることがあります。
サードパーティー製のツールを使用してキーペアを作成し、Amazon EC2 にパブリックキーをインポートする
Amazon EC2 を使用してキーペアを作成する代わりに、サードパーティー製のツールで RSA または ED25519 のキーペアを作成してから、パブリックキーを Amazon EC2 にインポートすることもできます。
キーペアの要件
-
サポートされている型:
-
(Linux と Windows) RSA
-
(Linux のみ) ED25519
注記
Windows インスタンスでは ED25519 キーはサポートされていません。
-
Amazon EC2 は DSA キーを受け付けません。
-
-
サポートされる形式:
-
OpenSSH パブリックキー形式 (Linux の場合、
~/.ssh/authorized_keys
の形式) -
(Linux のみ) EC2 Instance Connect API の使用中に SSH を使用して接続する場合は、SSH2 形式もサポートされます。
-
SSH プライベートキーファイル形式は PEM または PPK である必要があります
-
(RSA のみ)Base64 でエンコードされた DER 形式
-
SSH パブリックキーファイル形式 [RFC4716
] で指定
-
-
サポートされている長さ:
-
1024、2048、および 4096。
-
(Linux のみ) EC2 Instance Connect API の使用中に SSH を使用して接続する場合は、長さ 2048 および 4096 がサポートされます。
-
サードパーティーツールを使用してキーペアを作成するには
-
選択したサードパーティ製のツールでキーペアを生成します。例えば、ssh-keygen (標準 OpenSSH インストールで提供されるツール) を使用しできます。また、Java、Ruby、Python などのさまざまなプログラミング言語では、キーペアの作成に使用できる標準ライブラリが提供されています。
重要
プライベートキーは、PEM または PPK 形式である必要があります。例えば、
ssh-keygen -m PEM
を使用して OpenSSH キーを PEM 形式で生成します。 -
ローカルファイルにパブリックキーを保存します。例えば、
~/.ssh/my-key-pair.pub
(Linux、macOS) またはC:\keys\my-key-pair.pub
(Windows)。このファイル名の拡張子は重要ではありません。 -
.pem
または.ppk
拡張子を持つローカルファイルにプライベートキーを保存します。例えば、~/.ssh/my-key-pair.pem
または~/.ssh/my-key-pair.ppk
(Linux、macOS)、あるいはC:\keys\my-key-pair.pem
またはC:\keys\my-key-pair.ppk
(Windows)。インスタンスへの接続に使用するツールによっては特定のファイル形式が必要になるため、ファイル拡張子は重要です。OpenSSH には.pem
ファイルが必要であり、PuTTY には.ppk
ファイルが必要です。重要
プライベートキーファイルを安全な場所に保存します。インスタンスと対応するプライベートキーの起動時には、毎回インスタンスに接続するたびに、パブリックキーの名前を入力する必要があります。
キーペアを作成したら、次のいずれかの方法を使用してパブリックキーを Amazon EC2 にインポートします。