Amazon EC2 インスタンスのキーペアを作成する
Amazon EC2 を使用してキーペアを作成できます。または、サードパーティー製のツールを使用して、キーペアを作成してから、Amazon EC2 にインポートすることもできます。
Amazon EC2 は、Linux および Windows インスタンスで 2048-bit SSH-2 RSA キーをサポートしています。Amazon EC2 は、Linux インスタンスでは ED25519 キーもサポートしています。
キーペアを作成した後に SSH を使用して Linux インスタンスに接続するステップについては、「SSH を使用した Linux インスタンスへの接続」を参照してください。
キーペアを作成した後に RDP を使用して Windows インスタンスに接続するステップについては、「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 にインポートすることもできます。
キーペアの要件
-
サポートされているタイプ:RSA および ED25519。Amazon EC2 は DSA キーを受け付けません。
-
サポートされる形式:
-
OpenSSH パブリックキー形式 (
~/.ssh/authorized_keys
の形式)。EC2 Instance Connect API の使用中に SSH を使用して接続する場合は、SSH2 形式もサポートされます。 -
SSH プライベートキーファイル形式は PEM または PPK である必要があります
-
(RSA のみ)Base64 でエンコードされた DER 形式
-
SSH パブリックキーファイル形式 [RFC4716
] で指定
-
-
サポートされているキーの長さ 1024、2048、および 4096。EC2 Instance Connect API の使用中に SSH を使用して接続する場合は、長さ 2048 および 4096 がサポートされます。
サードパーティーツールを使用してキーペアを作成するには
-
選択したサードパーティ製のツールでキーペアを生成します。例えば、ssh-keygen (標準 OpenSSH インストールで提供されるツール) を使用しできます。また、Java、Ruby、Python などのさまざまなプログラミング言語では、RSAまたはED25519 キーペアの作成に使用できる標準ライブラリが提供されています。
重要
プライベートキーは、PEM または PPK 形式である必要があります。例えば、
ssh-keygen -m PEM
を使用して OpenSSH キーを PEM 形式で生成します。 -
ローカルファイルにパブリックキーを保存します。例えば、
~/.ssh/my-key-pair.pub
と指定します。このファイル名の拡張子は重要ではありません。 -
.pem
または.ppk
拡張子を持つローカルファイルにプライベートキーを保存します。例えば、~/.ssh/my-key-pair.pem
、~/.ssh/my-key-pair.ppk
などです。重要
プライベートキーファイルを安全な場所に保存します。インスタンスと対応するプライベートキーの起動時には、毎回インスタンスに接続するたびに、パブリックキーの名前を入力する必要があります。
Amazon EC2 を使用してキーペアを作成する代わりに、サードパーティー製のツールで RSA キーペアを作成してから、パブリックキーを Amazon EC2 にインポートすることもできます。
キーペアの要件
-
サポートされているタイプ: RSA。Amazon EC2 は DSA キーを受け付けません。
注記
Windows インスタンスでは ED25519 キーはサポートされていません。
-
サポートされる形式:
-
OpenSSH パブリックキー形式
-
SSH プライベートキーファイル形式は PEM または PPK である必要があります
-
(RSA のみ)Base64 でエンコードされた DER 形式
-
SSH パブリックキーファイル形式 [RFC4716
] で指定
-
-
サポートされているキーの長さ 1024、2048、および 4096。
サードパーティーツールを使用してキーペアを作成するには
-
選択したサードパーティ製のツールでキーペアを生成します。例えば、ssh-keygen (標準 OpenSSH インストールで提供されるツール) を使用しできます。また、Java、Ruby、Python などのさまざまなプログラミング言語では、RSA キーペアの作成に使用できる標準ライブラリが提供されています。
重要
プライベートキーは、PEM または PPK 形式である必要があります。例えば、
ssh-keygen -m PEM
を使用して OpenSSH キーを PEM 形式で生成します。 -
ローカルファイルにパブリックキーを保存します。例えば、
C:\keys\my-key-pair.pub
と指定します。このファイル名の拡張子は重要ではありません。 -
.pem
または.ppk
拡張子を持つローカルファイルにプライベートキーを保存します。例えば、C:\keys\my-key-pair.pem
、C:\keys\my-key-pair.ppk
などです。EC2 コンソールから Windows インスタンスに接続するときに選択できるのは.pem
ファイルだけなので、このファイルのファイル名拡張子は重要です。重要
プライベートキーファイルを安全な場所に保存します。インスタンスと対応するプライベートキーの起動時には、毎回インスタンスに接続するたびに、パブリックキーの名前を入力する必要があります。
キーペアを作成したら、次のいずれかの方法を使用してパブリックキーを Amazon EC2 にインポートします。