VPSセキュリティ設定|エラー対処集

このページにはプロモーションが含まれています。

VPSのセキュリティ設定中に詰まったら、このページを見れば解決できます。

別記事「VPS初期設定のセキュリティ対策17選【コマンド完全版】」の手順を進める中で、エラーが出て止まってしまうことがあります。この記事は、よくあるエラーの原因・対処コマンドを7カテゴリに分類してまとめたトラブルシューティング集です。

この記事でわかること
  • SSH接続・鍵認証のエラー原因と対処コマンド
  • ファイアウォール設定ミスで自分が締め出されたときの復旧手順
  • fail2banで自分のIPがブロックされたときの解除方法
  • 最悪ケース(SSH完全ログイン不能)からの復旧手順

対象OSはUbuntu・Debian・CentOS系(Rocky Linux / AlmaLinux含む)の3系統です。


目次

【最重要】まず確認すること

エラーが発生したとき、原因のほとんどは以下のどれかです。コマンドを調べる前に、まずこの3点を確認してください。

スクロールできます
よくある原因確認方法
設定の順番ミス
(ファイアウォール→SSH変更の順が逆など)
設定手順を最初から見直す
OS違いによるコマンドミス
(Ubuntu用をCentOSで使うなど)
自分のOSを cat /etc/os-release で確認
タイポ・スペルミス
(sshd_configの記述ミスなど)
設定ファイルを再度開いて確認

エラーの8割は「設定の順番ミス」と「OS違いのコマンドミス」が原因です。難しいエラーである前に、まずこの2点を疑ってください。


目次|エラーカテゴリ一覧

エラー一覧

1. SSH接続系のエラー

SSHに関するエラーは最も頻度が高く、対処を誤るとログイン不能につながります。落ち着いて原因を切り分けてください。

❌ Permission denied (publickey)

主な原因
  • 公開鍵がサーバーの authorized_keys に正しく登録されていない
  • ~/.ssh ディレクトリまたは authorized_keys のパーミッションが間違っている
  • 接続時に間違った秘密鍵ファイルを指定している

対処1:パーミッションを修正する(Ubuntu / Debian / CentOS共通)

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

対処2:公開鍵が正しく登録されているか確認する(Ubuntu / Debian / CentOS共通)

cat ~/.ssh/authorized_keys

ローカルで生成した公開鍵の内容(id_ed25519.pub の中身)と、サーバー側の authorized_keys に登録されている内容が一致していれば正常です。

対処3:接続時に鍵ファイルを明示的に指定する(Ubuntu / Debian / CentOS共通)

ssh -i ~/.ssh/id_ed25519 -p 2222 username@サーバーのIPアドレス


❌ Connection refused

主な原因
  • SSHポートを変更したのに、接続時に古いポート番号を使っている
  • sshdサービスが停止・クラッシュしている

対処1:SSHサービスの状態を確認する

スクロールできます
OSコマンド
Ubuntu / Debiansudo systemctl status ssh
CentOS系sudo systemctl status sshd

サービスが停止していた場合は以下で起動します。

スクロールできます
OSコマンド
Ubuntu / Debiansudo systemctl start ssh
CentOS系sudo systemctl start sshd

ポートを変更している場合、接続コマンドに -p 2222 のようにポート番号を明示する必要があります。


❌ Connection timed out

主な原因
  • ファイアウォールでSSHポートがブロックされている
  • SSHポートを変更後、ファイアウォールで新しいポートを開放していない

対処:SSHポートをファイアウォールで開放する

Ubuntu / Debian

sudo ufw allow 2222
sudo ufw reload

CentOS系

sudo firewall-cmd –permanent –add-port=2222/tcp
sudo firewall-cmd –reload

2222 の部分は、実際に設定したSSHポート番号に置き換えてください。


2. 権限・ユーザー系のエラー

❌ usermod: group ‘sudo’ does not exist

原因

CentOS系にはUbuntu / Debianと異なり sudo グループが存在しません。CentOS系では管理権限グループは wheel です。

対処:CentOS系では wheel グループを使う

usermod -aG wheel username

スクロールできます
OSsudo権限グループコマンド
Ubuntu / Debiansudousermod -aG sudo username
CentOS系wheelusermod -aG wheel username

❌ sudo: permission denied

原因

ログイン中のユーザーにsudo権限が付与されていません。権限付与後、一度ログアウトして再ログインしないと反映されないケースもあります。

対処1:sudo権限を付与する(rootでログインして実行)

スクロールできます
OSコマンド
Ubuntu / Debianusermod -aG sudo username
CentOS系usermod -aG wheel username

対処2:グループが反映されているか確認する

groups username

権限付与後は必ず一度ログアウト→再ログインしてください。同セッション中は変更が反映されません。


❌ command not found

原因

対象のコマンド(ufw / firewall-cmd など)がインストールされていません。

対処:コマンドの存在を確認してからインストールする

which ufw
which firewall-cmd

出力がない場合はインストールが必要です。各コマンドのインストール方法は次のファイアウォール系エラーのセクションを参照してください。


3. ファイアウォール系のエラー

❌ ufw: command not found

UFWがインストールされていません。Ubuntu / Debianでは以下でインストールできます。

sudo apt install ufw -y

CentOS系ではUFWは使いません。CentOS系のファイアウォールは firewalld です。


❌ FirewallD is not running

CentOS系でfirewalldが起動していません。以下で起動・自動起動設定を行います。

sudo systemctl start firewalld
sudo systemctl enable firewalld


❌ ファイアウォールを有効化したら自分がSSHできなくなった

原因

SSHポートを許可する前に ufw enable を実行してしまい、自分のSSH接続もブロックされた状態です。VPSのコンソール機能(管理画面のブラウザSSH)からサーバーに直接接続して復旧します。

復旧手順:VPS管理画面のコンソール機能でログイン後、以下を実行する

Ubuntu / Debian(UFWを一時無効化)

sudo ufw disable

UFWを無効化後、SSHポートを許可してから再度有効化します。

sudo ufw allow 2222
sudo ufw enable

CentOS系(一時的にSSHポートを追加開放)

sudo firewall-cmd –add-port=2222/tcp
sudo firewall-cmd –reload

予防策:必ず ufw enable の前に sudo ufw status でSSHポートの許可状況を確認してください。設定後は別のターミナルウィンドウからSSH接続をテストし、問題ないことを確認してから既存の接続を切るのが鉄則です。


4. パッケージ管理(apt / dnf)エラー

❌ apt update でエラーが出る

主な原因
  • リポジトリのミラーサーバーが一時的に不具合を起こしている
  • ネットワーク接続の問題

対処:キャッシュをクリアして再実行する(Ubuntu / Debian)

sudo apt clean
sudo apt update

それでも解決しない場合は、数分待ってから再試行してください。ミラーサーバーの一時的な問題であることが多く、時間が経てば解消するケースがほとんどです。


❌ Could not get lock / dpkg lock

原因

別のaptプロセスが実行中です。自動アップデートや前回のインストールが完了していない状態で apt を実行すると発生します。

対処1:実行中のaptプロセスを確認する(Ubuntu / Debian)

ps aux | grep apt

対処2:プロセスが残っていた場合は終了させる(Ubuntu / Debian)

sudo kill -9 プロセスのPID番号

まず数分待ってみることをおすすめします。自動アップデートが完了すれば自然にロックが解除されます。強制終了は最終手段として使ってください。


❌ dnf update でエラーが出る

対処:キャッシュをクリアして再実行する(CentOS系)

sudo dnf clean all
sudo dnf update -y


5. fail2ban関連エラー

❌ fail2ban が起動しない

まず状態を確認する(OS共通)

sudo systemctl status fail2ban

エラーメッセージを確認し、次の原因別に対処します。

スクロールできます
エラーの内容原因対処
jail.local の構文エラー設定ファイルの記述ミスjail.local を開いてスペル・スペースを確認
ポート番号の不一致jail.localのport設定がSSHポートと異なるjail.local の port = をSSHポートに合わせる
ログファイルが見つからないlogpath の指定が間違っているOS別のログパス(下記)を確認
スクロールできます
OSSSHログのパス
Ubuntu / Debian/var/log/auth.log
CentOS系/var/log/secure

❌ jail.local の読み込みエラー

設定ファイルを開いてスペルとスペースを確認します。

sudo nano /etc/fail2ban/jail.local

特に以下の点を確認してください。

  • [sshd] のセクション名が正確かどうか
  • enabled = true= 前後に半角スペースがあるかどうか
  • port = に設定したSSHポート番号が正しいかどうか

❌ fail2ban に自分のIPがブロックされた

SSH接続に複数回失敗すると、自分のIPアドレスがfail2banにブロックされることがあります。以下のコマンドで解除できます。

ブロック中のIPを確認する(OS共通)

sudo fail2ban-client status sshd

自分のIPのブロックを解除する(OS共通)

sudo fail2ban-client set sshd unbanip 自分のIPアドレス

自分のIPがわからない場合は curl ifconfig.me(ローカル端末で実行)で確認できます。VPSのコンソール機能からサーバーにアクセスしてコマンドを実行する必要があります。


6. SSL / certbot エラー

❌ certbot: command not found

certbotがインストールされていません。以下でインストールします。

スクロールできます
OSコマンド
Ubuntu / Debiansudo apt install certbot python3-certbot-nginx -y
CentOS系sudo dnf install certbot python3-certbot-nginx -y

❌ Failed authorization / Challenge failed

原因
  • ファイアウォールでポート80(HTTP)が閉じている
  • ドメインのDNSがサーバーのIPに向いていない

対処1:ポート80を開放する

Ubuntu / Debian

sudo ufw allow 80
sudo ufw reload

CentOS系

sudo firewall-cmd –permanent –add-service=http
sudo firewall-cmd –reload

対処2:DNSの確認(OS共通)

dig ドメイン名 +short

表示されたIPアドレスがVPSのグローバルIPと一致していることを確認してください。


❌ nginx が原因で certbot が失敗する

nginxが停止しているか、設定に問題がある可能性があります。

対処:nginxの状態確認と再起動(OS共通)

sudo systemctl status nginx
sudo systemctl restart nginx

nginxの設定ファイルに構文エラーがある場合は再起動に失敗します。sudo nginx -t で構文チェックを行い、エラーがあれば修正してから再起動してください。


7. 最悪ケース|SSHログイン完全不能からの復旧

ファイアウォール設定ミスやSSH設定ミスにより、SSHで完全にサーバーに入れなくなることがあります。この状態でも、VPS管理画面のコンソール機能を使えば復旧できます。

筆者はSSHポート変更とファイアウォール設定の順番を誤り、自分がサーバーにログインできなくなった経験があります。コンソール機能で復旧できましたが、30分以上かかりました。「スナップショットを取ってから作業する」が最も確実な予防策です。

復旧手順

STEP
VPS管理画面にログインする

ConoHa VPS・Xserver VPS・さくらのVPSはいずれも管理画面からコンソール機能を提供しています。SSHとは独立した接続方法のため、SSHポートやファイアウォールの設定に関係なくサーバーにアクセスできます。

STEP
コンソールでサーバーに接続する

管理画面の「コンソール」または「VNCコンソール」をクリックしてブラウザ上でサーバーを操作します。rootでログインできます。

STEP
ファイアウォールを一時無効化して原因を修正する

以下のコマンドでファイアウォールを一時停止し、SSHで接続できることを確認してから原因を修正します。

Ubuntu / Debian

sudo ufw disable
sudo systemctl restart ssh

CentOS系

sudo systemctl stop firewalld
sudo systemctl restart sshd

SSHで接続できることを確認後、ファイアウォールの設定を正しく修正してから再度有効化してください。


やりがちなミスTOP5|設定前に必ず確認

VPSセキュリティ設定で実際に詰まるケースの大部分は、以下の5つのミスのどれかです。設定前にチェックリストとして使ってください。

スクロールできます
順位ミスの内容予防策
1位ファイアウォール有効化→SSHポート許可の順番ミスufw enable の前に ufw status で確認
2位SSH鍵認証が動作確認前にパスワード認証を無効化必ず別ウィンドウで鍵認証の接続テストをしてから無効化
3位sudo権限未付与のままrootログインを禁止②一般ユーザー作成→sudo付与→接続確認→①rootログイン禁止の順番で行う
4位SSHポート変更後にファイアウォールで新ポートを開放していないポート変更→ファイアウォール開放→SSH接続テスト→旧ポート閉鎖の順番で行う
5位fail2banで自分のIPがブロックされる自分のIPを ignoreip に設定しておく(後述)

fail2banの設定で自分のIPを誤ってブロックされないようにするには、jail.localignoreip = 127.0.0.1 自分のIPアドレス を追記しておくと安心です。


よくある質問(FAQ)

コンソール機能はどのVPSサービスでも使えますか?

ConoHa VPS・Xserver VPS・さくらのVPSはいずれも管理画面からコンソール機能を提供しています。ただし機能名や操作方法はサービスごとに異なります。いざというときに迷わないよう、あらかじめ管理画面でコンソールの場所を確認しておくことをおすすめします。

スナップショットがあれば詰みを防げますか?

はい、最も確実な保険です。セキュリティ設定を始める前にスナップショットを取っておけば、設定を誤ってもその時点の状態に即座に戻せます。ConoHa VPSやXserver VPSは管理画面から数クリックで設定できます。さくらのVPSはバックアップが有料オプション(月額2,420円〜)のため、契約前に確認してください。

エラーが解決しない場合はどうすればいいですか?

まずエラーメッセージをそのままコピーして検索することをおすすめします。それでも解決しない場合は、各VPSサービスのサポートに問い合わせてください。Xserver VPSはサポートが充実しており、初心者でも相談しやすい環境が整っています。


まとめ|エラーが出ても慌てない

VPSセキュリティ設定のエラー対処集を7カテゴリに分けて解説しました。

STEP
エラーの8割は「設定順ミス」か「OS違いのコマンドミス」

難しいエラーではなく、確認不足が原因のケースがほとんどです。焦らずに設定手順を最初から確認しましょう。

STEP
完全ログイン不能になってもコンソール機能で復旧できる

ConoHa VPS・Xserver VPS・さくらのVPS、いずれもコンソール機能があります。SSHとは独立したアクセス手段なので、最終的な「保険」として機能します。

STEP
作業前のスナップショットが最も確実な予防策

設定前にスナップショットを取っておけば、どんなミスをしても数クリックで初期状態に戻せます。数百円/月のコストで大きな安心を得られます。

設定の具体的な手順については「VPS初期設定のセキュリティ対策17選【コマンド完全版】」を、セキュリティの考え方については「VPSの初期設定でやるべきセキュリティ対策17選【初心者でもできる完全ガイド】」を合わせて参照してください。 

よかったらシェアしてね!
  • URLをコピーしました!
目次