AWS EC2を起動したあと、
- SSH接続できない
- タイムアウトする
Permission denied (publickey)が出る
といった状況に困ったことはありませんか。
AWS EC2へのSSH接続トラブルは、
サーバー障害ではなく設定ミスが原因であることがほとんどです。
この記事では、
AWS EC2にSSH接続できないときに確認すべきポイントを、順番に
初心者向けに分かりやすく解説します。
※ 本記事は Linux系EC2(Amazon Linux / Ubuntu)を前提 に説明します。
この記事でわかること
- EC2にSSH接続できない主な原因
- まず確認すべき設定項目
- 鍵ファイル・ユーザー名の注意点
- 初心者がつまずきやすいポイント
よくあるエラー例
SSH接続に失敗すると、
次のようなエラーが表示されることがあります。
Connection timed outConnection refusedPermission denied (publickey)
エラーメッセージごとに、
疑うべき原因が異なります。
確認① EC2インスタンスが起動しているか
最初に、
EC2インスタンスの状態を確認します。
- AWSマネジメントコンソール
- EC2 → インスタンス
状態が running(実行中) になっているか確認してください。
停止中や起動中の場合、
SSH接続はできません。
確認② セキュリティグループでSSHが許可されているか
次に、
セキュリティグループのインバウンドルールを確認します。
確認ポイント:
- ポート:22
- プロトコル:TCP
- ソース:接続元IP(例:自分のIP)
SSH(22番ポート)が許可されていない場合、
接続はタイムアウトします。
確認③ 接続先のIPアドレスが正しいか
EC2には、
- パブリックIPv4アドレス
- パブリックDNS
があります。
SSH接続時は、
現在のパブリックIP / DNSを使用しているか確認してください。
インスタンス再起動後、
IPが変わることもあります。
確認④ 使用しているユーザー名が正しいか
EC2では、
OSごとに SSH接続用のユーザー名が決まっています。
例:
- Amazon Linux:
ec2-user - Ubuntu:
ubuntu
ユーザー名が違うと、Permission denied が表示されます。
確認⑤ 秘密鍵(.pemファイル)が正しいか
SSH接続には、
インスタンス作成時に指定した 鍵ファイル(.pem) が必要です。
確認ポイント:
- 正しい鍵ファイルを使っているか
- 鍵ファイルを紛失していないか
違う鍵を使うと、
認証エラーになります。
確認⑥ 鍵ファイルの権限が正しいか(Mac)
Macでは、
鍵ファイルの権限が厳しく制限されています。
権限が緩い場合、
SSH接続が拒否されます。
確認・修正コマンド:
chmod 400 key.pem
その後、再度SSH接続を試してください。
確認⑦ ネットワーク設定(VPC / ルート)が正しいか
少し慣れてきた段階で起こりやすいのが、
VPCやサブネット設定の問題です。
確認ポイント:
- インターネットゲートウェイがあるか
- パブリックサブネットか
- ルートテーブルが正しいか
ここに問題があると、
外部からSSH接続できません。
よくある勘違い
EC2にSSH接続できないとき、
次のような誤解が多いです。
- EC2が壊れていると思ってしまう
- 何度も再起動してしまう
- 鍵ファイルを作り直そうとする
実際には、
設定確認だけで解決するケースが大半です。
まず確認すべきチェックリスト
SSH接続できない場合は、
次の順番で確認してください。
- EC2インスタンスが起動しているか
- セキュリティグループで22番が許可されているか
- 正しいIP / DNSを使っているか
- OSに合ったユーザー名か
- 正しい鍵ファイルを使っているか
- 鍵ファイルの権限は正しいか
- VPC / ネットワーク設定
この順で確認すれば、
原因はほぼ特定できます。
まとめ
AWS EC2にSSH接続できない原因は、
- セキュリティグループ設定
- ユーザー名・鍵ファイルのミス
- IPアドレスの変更
- ネットワーク設定
といった 設定由来の問題がほとんどです。
落ち着いて、
一つずつ順番に確認することが重要です。
コメントを残す