キーペアを作成する
Amazon EC2 を使用して、RSA または ED25519 のキーペアを作成できます。あるいは、サードパーティー製のツールを使用して、キーペアを作成してから、パブリックキーを Amazon EC2 にインポートすることもできます。
キーペアを作成した後に SSH を使用して Linux インスタンスに接続する手順については、「Linux インスタンスへの接続」を参照してください。
内容
Amazon EC2 を使用してキーペアを作成する
Amazon EC2 を使用してキーペアを作成すると、パブリックキーは Amazon EC2 内に保存されます。プライベートキーは、自分で保存します。
Amazon EC2 を使用して、次のいずれかの方法でキーペアを作成できます。
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 ユーザーにより引き受けられた 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 キーを受け付けません。
注記 Windows インスタンスでは、ED25519 キーはサポートされていません。
-
サポートされる形式:
-
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 にインポートします。