当記事では、AWSでEC2インスタンスを立ち上げたものの、どういう訳かTeraTermでSSH接続できない時の対処法について解説します。
そんな時は以下の4つの事項について確認してみてください。
1.ログインするユーザが間違えている
TeraTermからEC2インスタンスへ接続する際ユーザ名を入力する必要がありますが、そのユーザ名が間違えていると当然アクセスできません。
例えば、ワードプレス専用のEC2インスタンスを作成した方などは、ユーザ名が通常と異なる場合があります。
以下のEC2インスタンスのマシンイメージを選択する画面で「WordPress Certified by Bitnami and Automatic」を選択している方は初期のユーザ名が「bitnami」で設定されているはずです。

つまり、TeraTermの「ユーザ名」を入力する個所では、「bitnami」と入力する必要があります。EC2インスタンスの代表的なOSであるAmazon Linuxの場合「ec2-user」になるので、自分が設定したOSに合わせてユーザ名を入力することが必要です。

2.セキュリティグループで接続が許可されていない
セキュリティグループで自分のPCのIPアドレスからSSH接続が許可されていない場合、サーバに接続することはできません。
EC2インスタンスの管理画面でTeraTermから接続したいEC2インスタンスを見つけ、左側にチェックを入れます。画面下に「セキュリティ」をいう項目があるので、そこをクリックし、赤枠の「セキュリティグループ」と書かれている部分を押してください。

遷移後の画面を下の方に移動すると、「インバウンドルール」という欄があるはずです。
ここに、セキュリティグループがアクセス許可をする項目を設定するのですが、
タイプに「SSH」、ソースに「0.0.0.0/0」もしくは自分のPCのIPアドレスが書かれていればOKです。

自分のPCのIPアドレスと値が一致しているかは、以下のサイトから確認できます。
https://www.cman.jp/network/support/go_access.cgi
ちなみに、「SSH」のソースが「0.0.0.0/0」になっていた方、お試しで作ったサーバであれば問題ないかと思いますが、本格的に運用していく方は自分のパソコンからのみの権限に変更しておきましょう。
上の画像の「インバウンドルールを編集」を押すと以下のような画面になります。タイプを「SSH」、ソースの「カスタム」を押して「マイIP」を選択しましょう。自動で今のパソコンのIPアドレスが割り振られます。

自分のパソコンのIPアドレスはネットワークに接続する度に変わるため、毎度入力する必要があることだけ難点ですが。。。本格的に運用する方は念のため権限を絞っておいた方が良いと思います。
3.キーペアが間違えている
3つ目はキーペアが間違えている場合です。キーペアをいくつか作ってしまうとどれがどれだか分からなくなったりしますよね。そんな時は以下の方法で確認してみてください。
いつものEC2インスタンスを管理している画面で、右のほうスクロールしていくと「キー名」という項目があります。そこに記載されている名前と同じキーペアをTeraTermで入力しているかを確認してみてください。

4.インスタンスが起動していない
当たり前のようで初心者の頃私は何度かやっていました(笑)
項目3で載せたEC2管理画面のページで、そのインスタンスが起動しているか停止しているかはわかるので、ちゃんと起動しているかも確認してみてください。
まとめ
本日はTeraTermからどういう訳かEC2インスタンスにアクセスできない場合の対処方を紹介しました。
なぜか上手くいかない時は、以下の4つの項目について落ち着いて確認してみてください。
ポイント
- インスタンスが起動していることの確認
- ログインするユーザの確認
- セキュリティグループの確認
- キーペアの確認
もしこれでも接続できないという方がいましたらコメントいただけますとありがたいです。
ありがとうございました。