Amazon Web Services(AWS)でEC2を利用していると、
「SSH接続できない」「突然ログインできなくなった」といったトラブルに遭遇することがあります。
本記事では、EC2にSSH接続できない時によくある原因と、その具体的な対処法を順番に解説します。
上から順に確認すれば、多くのケースは解決できます。
まず確認すべき基本事項(最重要)
SSH接続できない場合、9割以上は以下のどれかが原因です。
-
セキュリティグループの設定ミス
-
接続元IPアドレスの変更
-
SSH鍵(pemファイル)の問題
-
ログインユーザー名の誤り
まずはここから確認しましょう。
原因① セキュリティグループでSSHが許可されていない
よくある症状
-
Connection timed out -
何も応答がなく接続できない
確認ポイント
-
インバウンドルールに TCP 22番ポート が設定されているか
-
接続元IPアドレスが正しいか(
0.0.0.0/0もしくは 自分のグローバルIP)
対処法
-
EC2のセキュリティグループを開く
-
インバウンドルールに以下を追加
-
タイプ:SSH
-
ポート:22
-
ソース:自分のIP または
0.0.0.0/0(検証用途のみ)
-
原因② 接続元IPアドレスが変わっている
よくある症状
-
昨日まで接続できていたのに急にできない
原因
-
自宅回線やテザリング利用で グローバルIPが変わった
対処法
-
現在のグローバルIPを確認
-
セキュリティグループのSSH許可IPを更新
原因③ SSH鍵(pemファイル)が違う/権限がおかしい
よくある症状
-
Permission denied (publickey)
確認ポイント
-
正しいキーペアを使用しているか
-
ファイル権限が適切か
対処法(Linux / macOS)
※ Windows(PowerShell)の場合も、正しい鍵を指定しているか確認してください。
原因④ ログインユーザー名が間違っている
AMIごとにSSHのユーザー名は異なります。
| AMI | ユーザー名 |
|---|---|
| Amazon Linux | ec2-user |
| Ubuntu | ubuntu |
| CentOS | centos |
| RHEL | ec2-user |
対処法
-
利用しているAMIを確認し、正しいユーザー名で接続
原因⑤ EC2インスタンスが停止・異常状態
確認ポイント
-
EC2のステータスが「running」になっているか
-
ステータスチェックに失敗していないか
対処法
-
インスタンスを起動
-
必要に応じて再起動
原因⑥ NACL(ネットワークACL)で通信がブロックされている
よくあるケース
-
セキュリティグループは問題ないのに接続不可
確認ポイント
-
インバウンド/アウトバウンドで22番ポートが許可されているか
原因⑦ パブリックIP・Elastic IPが変わっている
よくある症状
-
IPアドレス指定で接続している場合に発生
対処法
-
EC2の現在のパブリックIPを確認
-
IP固定が必要なら Elastic IP を割り当て
原因⑧ SSHサービスが停止している(まれ)
原因
-
OS側で sshd が停止
-
設定変更ミス
対処法
-
SSM Session Manager で接続
-
ルートボリュームを別EC2にアタッチして修復
SSH接続トラブル時のチェックリスト
-
セキュリティグループの22番ポート
-
接続元IPアドレス
-
SSH鍵の種類・権限
-
ログインユーザー名
-
EC2の稼働状態
-
パブリックIPの変更有無
まとめ
EC2にSSH接続できない原因の多くは、設定ミスや確認不足です。
特に以下の3点は最優先で確認してください。
-
セキュリティグループ(22番ポート)
-
接続元IPアドレス
-
SSH鍵とユーザー名
落ち着いて一つずつ確認すれば、ほとんどのSSH接続トラブルは解決できます。

