アマゾン EC2 インスタンスのキーペアを作成する
アマゾン EC2 を使用してキーペアを作成できます。またはサードパーティー製のツールを使用して、キーペアを作成してから、アマゾン EC2 にインポートすることもできます。
アマゾン EC2 はLinux および Windows インスタンスで 2048-bit SSH-2 RSA キーをサポートしています。アマゾン EC2 はLinux インスタンスでは ED25519 キーもサポートしています。
キーペアの作成後にインスタンスに接続する方法については「SSH を使用した Linux インスタンスへの接続」と「RDP を使用した Windows インスタンスへの接続」を参照してください。
内容
アマゾン EC2 を使用してキーペアを作成する
アマゾン EC2 を使用してキーペアを作成すると、パブリックキーは アマゾン EC2 内に保存されます。プライベートキーは自分で保存します。
リージョンごとに最大 5,000 のキーペアを作成できます。増加をリクエストするにはサポートケースを作成します。詳細については「サポート ユーザーガイド」の「サポートケースの作成」を参照してください。
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
エラーメッセージに偽造されたパラメータ名が表示されることがあります。
サードパーティー製のツールを使用してキーペアを作成し、アマゾン EC2 にパブリックキーをインポートする
アマゾン EC2 を使用してキーペアを作成する代わりに、サードパーティー製のツールで RSA または ED25519 のキーペアを作成してから、パブリックキーを アマゾン EC2 にインポートすることもできます。
キーペアの要件
-
サポートされている型:
-
(Linux と Windows) RSA
-
(Linux のみ) ED25519
注記
Windows インスタンスでは ED25519 キーはサポートされていません。
-
アマゾン 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
ファイルが必要です。重要
プライベートキーファイルを安全な場所に保存します。インスタンスと対応するプライベートキーの起動時には毎回インスタンスに接続するたびに、パブリックキーの名前を入力する必要があります。
キーペアを作成したら、次のいずれかの方法を使用してパブリックキーを アマゾン EC2 にインポートします。