ssh root@IPアドレス
上記のコマンドを実行してConoHaVPSで契約したサーバーにSSH接続しようした際、以下のようなエラーがでました。
ssh: connect to host IPアドレス port 22: Connection timed out
今回はこのエラーについての対処方法として、確認した設定を解説します。
サーバー起動直後の場合
サーバーを契約して起動した直後だった場合、サーバーの立ち上がりに時間がかかっている可能性があるため、まずは5分~10分程度置いてから再度SSH接続を試みると改善することがあります。
ステータスが以下のようになっていても、すぐに起動せずにまずは5分~10分程度待ちます。

これはサーバーが構築した内部側からだと起動していても、外部からはまだ構築の確認ができていない可能性が考えられます。
それでも改善されない場合はほかの原因が考えられますので、次の対処方法に進みます。
VPS管理画面の確認
サーバーが構築できているにもかかわらずSSH接続ができない場合、ConoHaVPSの管理画面でSSHのプロトコルが許可されていない可能性が考えられます。
私が初めてサーバーを起動したときはセキュリティグループの設定が以下のようになっていました。

こちらの内容を画面左側のメニューのセキュリティグループから内容を確認します。

そこで、defaultの内容をクリックして内容を確認したところ、以下のようになっています。

内容を見ると、InもAllですので、ルール的にはこれでもSSH接続できるはずなのですが、一度SSH接続だけを許可する以下のセキュリティグループに変更してみました。

その後、改めてSSH接続を試みるとうまく接続することができました。
このようになる詳細な原因については分かりかねますが、プロトコル許可を広く定義する設定がうまく機能していない可能性があります。
セキュリティの観点からも、利用するプロトコルのみ許可するほうが安全であるため、”default”になっている場合は変更をお勧めします。
まとめ
今回はSSH接続についてのトラブルシューティングを中心とした内容でした。
私自身、最初はセキュリティグループが”default”になっており、ルール上はすべてを許可する設定で問題ないのではと思いしばらくは別の原因を調査していました。
しかし、結果としてセキュリティグループの設定を変える以外の方法では改善がされましでしたのでこれがが原因で間違いないかと思います。
今回の実践でルール上は問題ない設定でも、それが原因ではないとは断定できないことがあることを学びました。
同じエラーで困っている方の参考になれば幸いです。