EC2のキーペアとは?作成・ダウンロード・紛失時の対処法まで初心者向けに解説!
生徒
「EC2インスタンスを作成しようとしたら、『キーペア』を選べって出てきたんですが、これは何のために使うんですか?」
先生
「キーペアは、EC2インスタンスに安全にログインするために使う『鍵』のようなものです。公開鍵と秘密鍵のペアを使って、SSH接続を安全に行えるようにする仕組みですね。」
生徒
「なるほど…。じゃあ、そのキーペアってどうやって作成して、どうやって使うんですか?」
先生
「それでは、EC2のキーペアの基本から作成方法、紛失時の対応まで順番に見ていきましょう!」
1. EC2のキーペアとは?
AWS EC2のキーペア(Key Pair)とは、Linux系インスタンスにSSH接続する際の認証に使われる「公開鍵」と「秘密鍵」のセットです。
キーペアを使うことで、パスワード認証ではなく、より安全な公開鍵認証方式によってEC2へログインできます。
キーペアは次の2つの要素で構成されます。
- 公開鍵(Public Key):EC2インスタンス側に保存される鍵
- 秘密鍵(Private Key):ユーザーがダウンロードしてローカルに保存する鍵(.pemファイル)
この秘密鍵がなければ、EC2にSSH接続はできません。一度ダウンロードし損ねたら再取得はできないため、取り扱いには注意が必要です。
2. キーペアの作成方法(マネジメントコンソール編)
AWSマネジメントコンソールからキーペアを作成する手順は以下の通りです。
- AWSにログインし、「EC2」サービスを開く
- 左側メニューの「キーペア」→「キーペアを作成」ボタンをクリック
- キーペア名を入力し、ファイル形式(通常は
.pem)を選択 - 「キーペアを作成」をクリックすると、秘密鍵ファイル(.pem)が自動的にダウンロードされます
ダウンロードされた.pemファイルは、SSHクライアント(例:ターミナルやTera Termなど)からEC2インスタンスにログインする際に使用します。
このファイルを失うとEC2へログインできなくなるため、安全な場所に保存しておきましょう。
3. キーペアの使い方(SSH接続の基本)
ローカル端末からEC2インスタンスへSSH接続するには、以下のようにコマンドを実行します。
ssh -i ~/Downloads/my-key.pem ec2-user@パブリックIPアドレス
例えば、キーペア名がmy-key.pemで、インスタンスのパブリックIPアドレスが203.0.113.25だった場合は、以下のようになります。
ssh -i ~/Downloads/my-key.pem ec2-user@203.0.113.25
注意点として、.pemファイルに適切なアクセス権限(chmod 400など)を設定しておかないと、SSH接続は拒否されます。
4. キーペアを紛失した場合の対処法
残念ながら、キーペアは再ダウンロードができません。そのため、もし.pemファイルを紛失した場合は、直接ログインは不可能になります。
以下の手順で新しいキーペアを再設定しましょう。
- 新しいキーペアを作成する(前述の方法)
- EC2インスタンスのボリューム(EBS)を一度デタッチ
- 他のインスタンスにアタッチして、.ssh/authorized_keys ファイルを書き換える
- 再度元のインスタンスにアタッチして起動
少し高度な作業になるため、初心者の方はAMI(Amazon Machine Image)からの再作成も検討すると良いでしょう。
事前にキーペアを複数作成してバックアップしておくのが、トラブルを防ぐ一番の方法です。
5. キーペアに関するよくある質問
Q. Windowsではキーペア(.pem)はどう使うの?
A. Windowsでは、Tera Term や PuTTY を使って接続します。PuTTYを使う場合は、事前に .pem を .ppk に変換する必要があります。
Q. .pemファイルはどこに保存するのが安全?
A. 自分だけがアクセスできるフォルダ(例:ホームディレクトリ内の「.ssh」フォルダ)に保存し、パーミッションを400に設定しておくのが安全です。
Q. 一度作ったキーペアを別のEC2で使える?
A. はい。同じリージョン内であれば、同じキーペアを複数のEC2インスタンスで使うことが可能です。
6. キーペアの形式(.pemと.ppk)の違いと使い分け
EC2のキーペアを作成する際、ファイル形式として「.pem」と「.ppk」のどちらを選ぶべきか迷う初心者は少なくありません。これらは利用する接続ツール(SSHクライアント)によって使い分ける必要があります。
- .pem (Privacy Enhanced Mail):macOSやLinuxのターミナル、またはWindows 10/11標準のコマンドプロンプトやPowerShellで「ssh」コマンドを使う場合に利用します。
- .ppk (PuTTY Private Key):Windowsで定番のSSHクライアント「PuTTY」を利用する場合専用の形式です。
もし「.pem」で作成した後にPuTTYを使いたくなった場合は、付属ツールの「PuTTYgen」を使って後から変換することも可能です。現在の主流は、OS標準機能で接続できる「.pem」形式ですので、迷ったらまずは .pem で作成しておくのが2026年時点のベストプラクティスです。
7. セキュリティを高める!キーペアのアクセス権限(パーミッション)設定
秘密鍵(.pemファイル)をダウンロードした後、そのまま接続しようとすると「Permissions are too open」というエラーが出て失敗することがあります。これは、秘密鍵が「誰でも読める状態」だとセキュリティリスクが高いため、SSHの仕組み上、接続を拒否される仕様になっているからです。
安全に接続するためには、自分だけが読み取れるようにファイルの権限を変更する必要があります。MacやLinux、またはWindowsのWSLを利用している場合は、以下のコマンドでパーミッションを「400」に設定しましょう。
# 鍵ファイルの権限を所有者のみ読み取り可能に変更
chmod 400 ~/Downloads/my-key.pem
# 設定後の確認(-r-------- と表示されればOK)
ls -l ~/Downloads/my-key.pem
-r-------- 1 user staff 1675 Jan 20 10:00 my-key.pem
Windowsの「プロパティ」から設定する場合は、ファイルのセキュリティ設定で「継承の無効化」を行い、現在のユーザー以外のアドミニストレーターやシステムグループをすべて削除することで、同様のセキュリティ状態を確保できます。
8. 既存の公開鍵をAWSへインポートして利用する方法
AWSコンソールで新しいキーペアを作成するのではなく、すでに手元のローカル環境で作成済みの「公開鍵(id_rsa.pubなど)」をAWS側に登録して使うこともできます。これを「キーペアのインポート」と呼びます。
自前の鍵をインポートするメリットは、「秘密鍵が手元から一度も離れない」ことです。AWS側で秘密鍵を生成してダウンロードさせる形式よりも、セキュリティポリシーが厳しい企業環境などではこの方法が推奨されます。
- ローカルPCで
ssh-keygenコマンドを実行し、鍵ペアを作成する - EC2コンソールの「キーペア」画面で「キーペアをインポート」を選択
- ローカルの公開鍵(.pub)の内容をコピー&ペースト、またはファイルをアップロードして登録
インポートした鍵も、通常のキーペアと同様にインスタンス作成時に選択可能です。複数のプロジェクトで共通の鍵を使い回したい場合や、秘密鍵の管理をより厳格に行いたい中級者以上の方は、このインポート機能を積極的に活用してみましょう。
まとめ
AWS EC2のキーペアは、SSH接続の安全性を高めるための鍵ファイルです。この記事では、キーペアの役割、作成方法、使用方法、そして万が一の紛失時の対処法までを初心者の方にも分かりやすく解説しました。
.pemファイルはキーペア作成時にのみダウンロードでき、紛失すると再ダウンロードは不可能です。だからこそ、作成後は必ず安全な場所に保存し、他人と共有しないようにしましょう。
また、Windowsユーザーの場合はPuTTYで利用するために.ppk形式へ変換する必要があり、LinuxやMacではターミナルを使ってコマンドラインから直接SSH接続するケースが多いです。
以下は、Linux/Macでのキーペアを使った基本的なSSH接続コマンドの例です。
chmod 400 ~/Downloads/my-key.pem
ssh -i ~/Downloads/my-key.pem ec2-user@203.0.113.25
なお、接続時のユーザー名(ec2-user)はAmazon Linuxでの標準ですが、OSによって異なる場合もあります。Ubuntuの場合はubuntuなどに置き換える必要があります。
さらに、キーペアを紛失してしまった場合には、ボリュームのマウント作業や再構築が必要になり、初心者には少しハードルが高いです。ですので、定期的にバックアップしたり、複数のキーペアを用意しておくと安心です。
EC2インスタンスを使う上で、キーペアは「はじめの一歩」となる大切な設定です。今回の知識を活かして、安全かつスムーズにAWSでサーバー運用を始めてみてください。
生徒
「キーペアはEC2に安全にログインするための鍵なんですね。作成後にダウンロードし忘れると大変だってこともよくわかりました。」
先生
「その通り。再ダウンロードはできないから、保存場所や権限の管理もとても重要なんです。」
生徒
「SSH接続にはchmod 400を使うとか、ユーザー名がOSによって違うとか、実際の操作方法も学べました!」
先生
「実際に手を動かすことで理解が深まります。特にLinux系の操作に慣れていくのはクラウド活用に欠かせませんよ。」
生徒
「キーペアを紛失した場合の対処も知っておいてよかったです。事前に複数作っておけば安心ですね。」
先生
「そうですね。AWSはセキュリティ重視のサービスなので、キーペアのような認証情報の扱いには慎重になりましょう。」