Ubuntuでufw設定後にSSH接続できなくなった時の対処法

  • 作成日 2026.06.05
  • 更新日 2026.06.09
  • ubuntu
Ubuntuでufw設定後にSSH接続できなくなった時の対処法

UbuntuでUFW(Uncomplicated Firewall)を有効化した後、SSH接続ができなくなるトラブルは非常によく発生します。多くの場合はSSHポートの許可設定漏れが原因です。本記事では、SSH接続できなくなった場合の確認方法と復旧手順を詳しく解説します。

なぜSSH接続できなくなるのか

UFWを有効化すると、許可ルールに一致しない通信は拒否されます。

例えば以下のように設定した場合です。

sudo ufw enable

SSHの許可設定がない状態で有効化すると、22番ポートへの接続も遮断されます。

その結果、サーバーへSSH接続できなくなります。

まずはコンソールアクセスを確保する

SSH接続できない場合は、サーバー管理画面からコンソールへ接続します。

代表例

・VPS管理画面のWebコンソール

・クラウドサーバーのシリアルコンソール

・物理サーバーの直接ログイン

SSHで接続できない状態では、まずサーバーへ直接アクセスできる手段を利用します。

UFWの状態を確認する

ログイン後に現在の設定を確認します。

sudo ufw status numbered

表示例

Status: active

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere

SSHの許可ルールが存在しない場合は接続できません。

SSHポートを許可する

標準SSHポートの場合

sudo ufw allow 22/tcp

または

sudo ufw allow ssh

確認

sudo ufw status

表示例

22/tcp                     ALLOW       Anywhere

ルール追加後に再度SSH接続を試します。

SSHポートを変更している場合

sshd_configでポート変更している場合は、そのポートを許可する必要があります。

設定確認

grep ^Port /etc/ssh/sshd_config

Port 2222

許可設定

sudo ufw allow 2222/tcp

許可後に接続を確認します。

一時的にUFWを無効化する

緊急時はUFWを停止して接続を復旧できます。

sudo ufw disable

確認

sudo ufw status

表示例

Status: inactive

SSH接続できるようになったら設定を見直します。

現在のSSH待受ポートを確認する

SSHサービスが正常に動作しているか確認します。

sudo ss -tlnp | grep ssh

または

sudo ss -tlnp | grep ssh

表示例

LISTEN 0 128 0.0.0.0:22

待受ポートとUFWルールが一致しているか確認します。

SSHサービスの状態を確認する

UFW以外の原因も考えられます。

確認

systemctl status ssh

正常な例

Active: active (running)

停止している場合

sudo systemctl restart ssh

サービスが起動していることを確認します。

UFWログを確認する

ファイアウォールでブロックされているか確認します。

sudo grep UFW /var/log/syslog

リアルタイム確認

sudo tail -f /var/log/syslog

ブロックログ例

[UFW BLOCK] IN=eth0 OUT=
SRC=xxx.xxx.xxx.xxx
DST=xxx.xxx.xxx.xxx
PROTO=TCP SPT=xxxxx DPT=22

DPT=22が表示される場合はSSH通信が遮断されています。

安全なUFW設定手順

SSH切断を防ぐためには、必ずSSH許可後にUFWを有効化します。

正しい手順

sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

設定確認

sudo ufw status

SSH許可を確認してからログアウトすることが重要です。

リモートサーバーでの注意点

VPSやクラウド環境では以下の順序を推奨します。

  1. SSHポートを許可
  2. UFW設定を確認
  3. 別ターミナルで新規SSH接続テスト
  4. 問題なければ既存セッションを終了

この方法なら接続不能になるリスクを最小限にできます。

まとめ

UbuntuでUFW設定後にSSH接続できなくなった場合は、まずコンソールからログインし、「sudo ufw status numbered」で設定内容を確認します。

多くの場合はSSHポートの許可漏れが原因であり、「sudo ufw allow ssh」または使用中のポート番号を許可することで解決できます。緊急時は「sudo ufw disable」で一時的にファイアウォールを停止し、設定を見直してから再度有効化すると安全です。

今後同様のトラブルを防ぐためにも、UFWを有効化する前にSSH許可ルールを設定し、別セッションで接続確認を行う運用をおすすめします。