0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2(Linux)のキーペアを失くした場合の対応

Posted at

キーペアを失くしログインできなくなってしまった際に、EC2のパスワードリセット手順を行ったのでここに手順をまとめておきます。

Linuxの場合は、こちらのRe:Postの手順でキーペアの先作成を行うことができます。

作業の流れ

①新しいキーペアの作成
②作成したキーペアのパブリックキー取得
③EC2の停止
④ユーザーデータの入力・保存
⑤EC2の起動・ログイン確認
⑥古いキーペア情報の削除

キーペア復旧作業

キーペアの新規作成

EC2のサービス画面を表示し、左メニューから「キーペア」を押下します。
右上の「キーペアを作成」を押下します。
image.png
キーペア作成画面が表示されます。
キーペア名を入力し、キーペアのタイプは「ED25519」を選択します。
ファイル形式を選択し、「キーペアを作成」を押下します。
image.png
キーペアは自動でダウンロードされます。
ダウンロードフォルダにキーペアのファイルがあることを確認しておきます。

パブリックキーの取得

画面左下の「CloudShell」を押下します。
image.png

CloudShellが立ち上がったら下記コマンドを実行し、パブリックキーを取得します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2237429/f2acdffc-e911-1f7e-b952-7cbcb4faeddb.png)

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を控えておきます。

image.png

上記画像の場合は、赤枠で囲った部分が該当の値となります。

インスタンスの停止

対象のインスタンスを停止しておきます。
インスタンス一覧から対象のインスタンスにチェックを入れ、「インスタンスを停止」を押下します。

image.png
確認画面が表示されるため、「停止」を押下します。
image.png

ユーザーデータを編集する

インスタンスが停止したら、ユーザーデータを編集します。
{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png
こちらの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」の値には、前の手順で確認したキーペアのタイプとキーペアのパブリックキーを入力します。

インスタンスを再起動する

対象のインスタンスを再起動します。
インスタンス一覧から対象のインスタンスにチェックを入れ、「インスタンスを再起動」を押下します。

image.png

インスタンス再起動後も、コンソール上のキーペア名の表示は変わらないのでご注意ください。

{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

新規作成したキーペアにてログインできることを確認します。

{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png
image.png

紛失したキーペア情報の削除

EC2の中には、紛失したキーペアの情報が登録されている状態です。
下記コマンドを実行し、秘密鍵の情報が保存されているファイルを確認します。

cat /home/ec2-user/.ssh/authorized_keys

{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

古い方のキーペアの情報が残っているため、viエディタなどでファイルを開き、古い情報を削除しておきます。
EC2のコンソール上でも、古い方のキーペアは削除しておきます。

image.png

ユーザーデータの削除

再起動が完了し新しいキーペアでログインできることが確認出来たら、
ユーザーデータを削除しておくようにしましょう。

{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

これで、今回ご紹介する手順は以上となります。ここまでお読みいただき

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?