はじめに
AWS EC2インスタンスに対してSSH接続を行う際に使用するキーペアは、安全性を維持するため定期的に交換することが推奨されていますが、いざ交換しようとしたら手順を忘れていたりします。この記事では、そんな忘れがちなEC2インスタンスのキーペアを交換する手順を実際の操作方法を交えて備忘録としてまとめてみました。
前提条件
• EC2インスタンスにSSHまたはセッションマネージャーを利用してアクセスできる状態である。
手順
- 新しいキーペアを作成する
AWS Management Console画面から、新しいキーペアを作成します。
・AWS Management Consoleにログインします。
・EC2ダッシュボードに移動し、左メニューから「キーペア」を選択します。
・「キーペアの作成」をクリックし、新しいキーペアを作成します。
(設定例)
名前:new-key-pair
キーペアのタイプ:RSA
プライベートキーファイルの形式:.pem
※ご自身の環境に合わせて、設定を行ってください。
※作成した秘密鍵を利用する際にパーミッションエラーが発生します。chmodやicaclsを利用して、ご自身の環境にあった権限を設定してあげてください。
Permissions 0644 for 'new-key-pair.pem' are too open. It is required that your private key files are NOT accessible by others.
2.プライベートキーファイルから公開鍵を作成します。
ssh-keygenコマンドを利用して、プライベートキーファイルから公開鍵を作成します。
ssh-keygen -y -f /path/to/new-key-pair.pem > /path/to/new-key-pair.pub
3.新しい公開鍵を~/.ssh/authorized_keysに追加します。
EC2インスタンスにアクセスし、authorized_keysを更新します。
ssh -i /path/to/old_key_pair.pem ec2-user@your-ec2-instance-ip
cd .ssh
vi authorized_keys
作成した公開鍵の内容をauthorized_keysの末尾に追加します。
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7jGh... ※古い公開鍵
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArdFH... ※新しい公開鍵を追加
4.新しい秘密鍵をテスト
ログアウトし、新しい鍵を使用してSSH接続できるかテストします。
ssh -i /path/to/new_key_pair.pem ec2-user@your-ec2-instance-ip
5.古い公開鍵を削除
再度EC2インスタンスにアクセスし、作成した公開鍵の内容をauthorized_keysを更新します。
cd .ssh
cat authorized_keys
vi authorized_keys
古い公開鍵の情報を削除し、新しい公開鍵の情報だけ残します。
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArdFH... ※新しい公開鍵を残す。
最後に古い秘密鍵でSSH接続できなくなっていることを確認しておきます。
ssh -i /path/to/old_key_pair.pem ec2-user@your-ec2-instance-ip
キーペアの交換作業は以上になります。
まとめ
今回はAWS EC2インスタンスのキーペアの交換手順を紹介しました。セキュリティを強化するためには、定期的な鍵の交換が重要です。特に、過去に使っていた秘密鍵が流出したり、古くなった場合には速やかに交換を行うことで、インスタンスへの不正アクセスを防ぐことができます。
もし鍵の交換を忘れてしまったり、手順が不安なときにこの記事が役立つことを願っています。AWSのセキュリティをしっかりと保つためにも、定期的に鍵を見直し、最新のセキュリティ対策を行うことを心がけましょう