VPSの初期設定、SSH接続とファイアウォールの基本
VPS を契約すると、まず「Linuxサーバーが手元にある」状態になります。共用レンタルサーバーと違い、自分で初期設定をしないと、安全に使えません。
このページでは、初心者向けに、VPS の初期設定で必ずやっておきたい3つを整理します。
なぜ初期設定が必要?
VPS 契約直後の状態:
- root ユーザー(管理者)で SSH 接続可能 → セキュリティ的にリスク
- ファイアウォール無設定 → 全ポートが世界中に開放されている
- パッケージが古い → セキュリティパッチが未適用
これらを放置すると、契約直後から攻撃を受け始めます。「不正ログイン試行が1日1万件」というのも珍しくない。
最初の30分で、最低限の安全対策をしておきましょう。
ステップ1:SSH で接続する
Windows の場合
- Windows 10/11:PowerShell の
sshコマンドで OK - 古い Windows:Tera Term や PuTTY をダウンロード
接続コマンド(PowerShell の例):
ssh root@xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx は VPS の IP アドレス。
初回接続時:
- 「Are you sure you want to continue connecting? (yes/no)」 → yes
- パスワード入力(VPS 契約時に決めたもの)
これで Linux のコマンドラインに入れます。
Mac の場合
- ターミナルを開く
ssh root@xxx.xxx.xxx.xxxで接続
ステップ2:ユーザー追加と root の SSH 無効化
root で日常運用すると、誤操作で OS を壊すリスクが大きいです。一般ユーザーを作って、必要なときだけ管理者権限に昇格する形にします。
一般ユーザー作成(例:user1)
adduser user1
パスワードを設定するように聞かれます。入力。
管理者権限の付与(sudo グループに追加)
gpasswd -a user1 sudo
または:
usermod -aG sudo user1
これで user1 は sudo を使って管理者操作が可能に。
root の SSH 接続を無効化
/etc/ssh/sshd_config を編集:
nano /etc/ssh/sshd_config
該当行を:
PermitRootLogin no
に変更。SSH を再起動:
systemctl restart sshd
これで、root では SSH 接続できなくなります。user1 でログインして、必要なときに sudo で管理。
ステップ3:SSH 鍵認証への切替
パスワードでの SSH 接続は、ブルートフォース攻撃のリスクがあります。「公開鍵認証」に切り替えるのが安全。
鍵ペアの作成(ローカル PC で)
PowerShell や ターミナルで:
ssh-keygen -t ed25519
保存場所はデフォルトの ~/.ssh/id_ed25519 でOK。パスフレーズは設定しても、しなくてもよい(設定する方が安全)。
これで id_ed25519(秘密鍵)と id_ed25519.pub(公開鍵)の2ファイルが作成。
公開鍵を VPS に登録
VPS の user1 ユーザーで:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
authorized_keys に、ローカルの公開鍵(id_ed25519.pub)の中身を貼り付け。
権限設定:
chmod 600 ~/.ssh/authorized_keys
パスワード認証を無効化
/etc/ssh/sshd_config で:
PasswordAuthentication no
SSH 再起動:
sudo systemctl restart sshd
これで、公開鍵を持っている人しか SSH 接続できなくなります。
ステップ4:ファイアウォールの設定
Linux 標準の ファイアウォール ufw を使います。
ufw のインストール
(Ubuntu の場合、最初から入っている)
sudo apt install ufw
必要なポートだけ開ける
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
Minecraft サーバーなら 25565 も:
sudo ufw allow 25565/tcp
ufw を有効化
sudo ufw enable
「SSH 接続が切れる可能性がありますが続けますか?」と聞かれるので yes。
状態確認:
sudo ufw status
ステップ5:パッケージの更新
最新のセキュリティパッチを適用:
sudo apt update
sudo apt upgrade -y
これは定期的に(月1回程度)実行してください。
ステップ6:fail2ban の導入(任意)
不正ログイン試行を自動でブロックしてくれるツール。
sudo apt install fail2ban
デフォルト設定でも、SSH への大量試行を自動ブロックしてくれます。
結論
VPS 契約直後の初期設定:
- 一般ユーザー追加 + root の SSH 無効化
- SSH 鍵認証への切替
- ファイアウォール(ufw)設定
- パッケージの最新化
- fail2ban 導入(任意)
これだけで、最低限の安全性が確保できます。
VPS は自由度が高い分、自己責任の領域も大きい。慣れるまでは「設定する手順を全部メモする」「変更前にスナップショット」など、保険を厚めに。
よくある質問
Q. SSH で接続できなくなってしまいました
Q. ファイアウォールを設定するとサーバーが見えなくなる?
Q. VPS の初期設定、毎回これだけ?
あなたに合うサーバーを見つけるなら
記事を読んでも迷う方は、3分の診断ツールで1〜2社に絞り込めます。
5つの質問に答えるだけ / 登録不要