キーペアを失くしログインできなくなってしまった際に、EC2のパスワードリセット手順を行ったのでここに手順をまとめておきます。
Linuxの場合は、こちらのRe:Postの手順でキーペアの先作成を行うことができます。
作業の流れ
①新しいキーペアの作成
②作成したキーペアのパブリックキー取得
③EC2の停止
④ユーザーデータの入力・保存
⑤EC2の起動・ログイン確認
⑥古いキーペア情報の削除
キーペア復旧作業
キーペアの新規作成
EC2のサービス画面を表示し、左メニューから「キーペア」を押下します。
右上の「キーペアを作成」を押下します。
キーペア作成画面が表示されます。
キーペア名を入力し、キーペアのタイプは「ED25519」を選択します。
ファイル形式を選択し、「キーペアを作成」を押下します。
キーペアは自動でダウンロードされます。
ダウンロードフォルダにキーペアのファイルがあることを確認しておきます。
パブリックキーの取得
CloudShellが立ち上がったら下記コマンドを実行し、パブリックキーを取得します。

aws ec2 describe-key-pairs --key-names キーペア名 --include-public-key
コマンドを実行すると、下記のような形で値が返ってきます。
{
"KeyPairs": [
{
"KeyPairId": "key-08850072a1e8ff3b0",
"KeyType": "ed25519",
"Tags": [],
"PublicKey": "ssh-ed25519 AAAAC*******************************************************Ipb Linux_keypair_20241001\n",
"CreateTime": "2024-10-01T06:13:56.143000+00:00",
"KeyName": "Linux_keypair_20241001",
"KeyFingerprint": "o****************DBw="
}
]
}
実行結果の中の「PublicKey」の項目には、下記のような値が含まれています。
"キーペアのキータイプ キーペアのPublicKey キーペア名"
PublicKey内の値のうち、キーペアのキータイプとキーペアのPublicKeyを控えておきます。
上記画像の場合は、赤枠で囲った部分が該当の値となります。
インスタンスの停止
対象のインスタンスを停止しておきます。
インスタンス一覧から対象のインスタンスにチェックを入れ、「インスタンスを停止」を押下します。
ユーザーデータを編集する
インスタンスが停止したら、ユーザーデータを編集します。
こちらのRe:Postを参考に、下記のようなスクリプトを貼り付けます。
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [users-groups, once]
users:
- name: ec2-user
ssh-authorized-keys:
- [先ほど確認したキーペアのタイプとキーペアのPublikKey]
「ssh-authorized-keys」の値には、前の手順で確認したキーペアのタイプとキーペアのパブリックキーを入力します。
インスタンスを再起動する
対象のインスタンスを再起動します。
インスタンス一覧から対象のインスタンスにチェックを入れ、「インスタンスを再起動」を押下します。
インスタンス再起動後も、コンソール上のキーペア名の表示は変わらないのでご注意ください。
新規作成したキーペアにてログインできることを確認します。
紛失したキーペア情報の削除
EC2の中には、紛失したキーペアの情報が登録されている状態です。
下記コマンドを実行し、秘密鍵の情報が保存されているファイルを確認します。
cat /home/ec2-user/.ssh/authorized_keys
古い方のキーペアの情報が残っているため、viエディタなどでファイルを開き、古い情報を削除しておきます。
EC2のコンソール上でも、古い方のキーペアは削除しておきます。
ユーザーデータの削除
再起動が完了し新しいキーペアでログインできることが確認出来たら、
ユーザーデータを削除しておくようにしましょう。
これで、今回ご紹介する手順は以上となります。ここまでお読みいただき