仕事柄、AWSで環境構築する機会が増えました。
先日、突然Tera TermでSSH接続できなくなり、その解決策を記録しておきます。
具体的には、今まで問題なかったのに「接続がタイムアウトしました」とエラーが出るようになったという問題です。

この記事では、解説抜きに解決策をダイレクトに紹介しています。
技術的な説明はAWSのRe:postや詳しい方が解説しているので、そちらを参考にしてください。
前提
そもそも、Tera TermからSSH接続する場合、バージョンは5以上が必須です。
また、ネットワーク設定で基本的な設定は問題ない前提で話を進めます。

私もインフラ周りは専門ではありませんが、あくまで「以前はできたのにできなくなった」という問題を解決する一つの方法としてご覧ください。
結論
細かい話を抜きに、解決策の結論から紹介します。
セキュリティグループインバウンドルールにSSHを追加するだけです。
インスタンス作成時のネットワーク設定の状況によっても異なりますが、例えば下図のように「HTTPトラフィックを許可」と「HTTPSトラフィックを許可」にチェックをれると、

インバウンドルールの初期値は下図のようにHTTPとHTTPSが追加されていると思います。

このとき、SSHが追加されていないとTera Termから接続できないのです。
解決策
では、実際に設定の手順を紹介します。
この時点で詳しい方は見なくても設定できると思うので、以降はご覧いただく必要がありません。
記事に良いね!もしくはコメントを頂けると励みになります。
設定の確認
まず、設定したいインスタンスの状況を確認します。

対象のインスタンスのセキュリティタブを開き、

インバウンドルール内に「SSH」がないことを確認します。

設定方法
左メニューから「セキュリティグループ」を開き、対象のインスタンスを選択します。
インバウンドルールタブ>インバウンドルールを編集をクリックし、

「ルールを追加」で下図のようにタイプから「SSH」を追加します。

このとき、虫眼鏡の欄をクリックするとCIDRブロックを選択できるので、「0.0.0.0/0」にします。

あとは「ルールを保存」して完了です。

動作検証
実際に、SSH接続ができるか確認しましょう。

SSH認証が表示されれば、解決できていることになります。
まとめ
いかがだったでしょうか。
この記事の方法で解決できた!という方は多いですが、必ず解決できるわけではありません。
もし、タイムアウトが続くようでしたらコメントでお知らせください。
分かる範囲でお答えします。
今後も初心者向けにプログラミングの情報をお届けします。
以下のメルマガにご登録頂くと、不定期に配信をお届けします。
ぜひ購読してください!
それでは、ステキなPythonライフを!