ConoHa VPSでDiscord BotやWebサービスを運用していると、突然SSH接続できなくなることがあります。「connection closed by IPアドレス port 22」と表示される場合、SSHの認証前にサーバー側から接続を切られている状態です。この記事では、ConoHa VPSへ接続できなくなった場合に確認すべき原因と具体的な復旧方法を解説します。
「Connection closed by port 22」が表示される意味
SSH接続時に表示される「Connection closed by ○○ port 22」は、パソコンからVPSへの通信自体は届いているものの、サーバー側が接続を終了している状態を示します。
単純なパスワード間違いや秘密鍵エラーの場合は「Permission denied」など別のエラーになります。そのため、このメッセージが出る場合はSSHサービスやサーバー内部の設定、リソース不足などを疑う必要があります。
Discord Botのような常時稼働プログラムを動かしているVPSでは、Botの暴走やメモリ不足によってサーバーの動作が不安定になり、SSH接続にも影響するケースがあります。
まず確認したいConoHa VPS側の状態
SSH接続できない場合は、最初にConoHaのコントロールパネルからVPS自体が起動しているか確認します。
サーバーが停止している場合は起動するだけで復旧できます。また、CPU使用率やメモリ使用量が異常に高くなっていないかも確認しましょう。
例えばDiscord Botが無限ループしたり、大量のログを出力し続けたりすると、メモリを使い切ってサーバー全体が応答しなくなることがあります。
ConoHa VPSのコンソールからログインして確認する
SSH接続できない場合でも、ConoHa VPSにはブラウザ上から操作できるコンソール機能があります。SSH以外の経路でサーバーへ入れるため、復旧作業に利用できます。
コンソールへログインできた場合は、以下のような項目を確認します。
・SSHサービスが起動しているか
・ディスク容量が不足していないか
・メモリ不足によるプロセス停止が発生していないか
・ファイアウォール設定が変更されていないか
Linuxの場合、SSHサービスは「systemctl status ssh」や「systemctl status sshd」などで状態を確認できます。
SSHサービスを再起動して復旧する方法
一時的なSSHサービスの不具合であれば、SSHデーモンを再起動することで復旧する場合があります。
Ubuntuなどの場合は以下のようなコマンドでSSHサービスを再起動できます。
systemctl restart ssh
また、OSによってはサービス名がsshdになっている場合があります。
systemctl restart sshd
再起動後に手元のパソコンから再度SSH接続を試してください。
ディスク容量不足によるSSH接続障害を確認する
VPSではディスク容量が100%近くまで使用されると、ログイン処理やサービス起動に問題が発生することがあります。
特にDiscord Botではログファイルを大量に保存していたり、バックアップファイルを放置していたりすると、知らない間に容量不足になることがあります。
コンソールへ入れる場合は「df -h」コマンドでディスク使用量を確認し、不要なログやファイルを削除します。
ファイアウォールやSSH設定を確認する
SSHのポート22番への接続が許可されているかも確認が必要です。以前にセキュリティ対策で設定変更した場合、SSH接続が制限されている可能性があります。
確認するポイントとしては、以下があります。
・22番ポートが閉じられていないか
・sshd_configの設定が変更されていないか
・接続元IP制限を設定していないか
設定変更後にSSH接続できなくなった場合は、直前に変更した設定を元に戻すことで復旧できる可能性があります。
サーバー再起動は最後の手段として実行する
原因が特定できない場合、ConoHa VPSの管理画面から再起動を行う方法もあります。
ただし、Botやデータベースなどが動作している場合、強制的な再起動によってデータ破損が起こる可能性があります。そのため、可能であればコンソールで原因を確認してから実行することがおすすめです。
再起動後はSSH接続だけでなく、Discord Botが正常に自動起動しているかも確認しましょう。
まとめ:ConoHa VPSのSSH接続エラーは原因を順番に確認する
ConoHa VPSで「connection closed by port 22」と表示されてSSH接続できない場合、SSH認証情報ではなくサーバー側の問題で接続が終了している可能性が高いです。
まずはConoHaの管理画面でサーバー状態を確認し、コンソール接続、SSHサービス、メモリやディスク容量、ファイアウォール設定を順番に確認すると原因を特定しやすくなります。
Discord BotなどをVPSで常時稼働させる場合は、ログ管理やメモリ使用量の監視も行っておくことで、突然SSH接続できなくなるトラブルを防ぐことができます。


コメント