「契約は完了したけど、どこから始めればいい?」という方向けに、実際にやった手順をベースに、初心者でも迷わないようステップごとに整理しました。
想定環境:Xserver VPS/Ubuntu 25.04/Windows 10/11(PowerShell使用)
はじめに ― GPTの使い方ガイド
この記事を読んでも「正直ちょっと難しい…」と感じる方もいると思います。
その場合は、ChatGPTや他のAIアシスタントに次のように質問すると、あなたの状況に合わせて1ステップずつ丁寧に教えてもらえます。質問の例(プロンプト例)
- 初めてVPSを設定する人向け
今からXserver VPSでUbuntuを使います。シリアルコンソールからの初期設定を初心者でも分かるように、コマンドを1つずつ説明してください。
- 操作に詰まったとき
UFWを設定していたら "command not found" と出ました。次にどうすればいいですか?
- 確認したいとき
いまSSHに接続できません。サーバー側とパケットフィルター側の両方で確認すべき項目を整理してください。
- 安全な運用に進みたいとき
一般ユーザーを作って root ログインを禁止する手順を初心者でも分かるように教えてください。
→ このように「自分が今どこで困っているか」を添えて質問すると、記事よりもさらに分かりやすく、あなたの環境に沿った回答が返ってきます。
① 初期設定の全体像と準備
まず理解しておくこと
- VPSはまっさらなLinuxです。最初は外部からSSHで入れない/入れにくいことがあるため、**管理画面の「シリアルコンソール」**から初期設定を行います。
- ネット越しの接続には 3つのゲート が関係します。
- sshd(サーバ内のSSHサービス)が動いているか
- UFW(サーバ内FW)で22番/80番/443番が許可されているか
- Xserverのパケットフィルターで同ポートが許可されているか
事前に用意するもの
- VPSのグローバルIP(例:
111.111.11.111
) - 管理画面に表示される rootパスワード
- Windows PowerShell(標準でOK)
- ファイル転送用にWinSCP(後でサイトをアップロードするときに便利)
② シリアルコンソールでやること(最初の一歩)
重要:コピペが効かない場合があります。
ブラウザ上のシリアルコンソールは貼り付けが不安定です。基本は手打ちで進めてください。
(環境によっては右クリック貼り付けやCtrl+Shift+V
が使えることもあります)シリアルコンソールを開く
XserverのVPSパネル → 「コンソール」 → 「シリアルコンソール」
login:
が出たらroot
、Password:
に rootパスワード を入力※ パスワード入力中は上記のように何も表示されません。打っているかわからないけど、パスワードを打ち終わったらEnter。うまくいけば、Welcome~がでます。
パッケージの更新
apt update && apt upgrade -y
カーネル更新が入ったら、後で再起動します(「再起動が必要」メッセージが出ます)
SSHサービスの確認と起動
systemctl status ssh # active(running) でなければ
apt install -y openssh-server systemctl enable --now ssh
Server listening on 0.0.0.0 port 22
が表示されていればOK
UFW(サーバ内ファイアウォール)の設定
最初は入っていないこともあります。入っていなければインストール。
apt install -y ufw ufw allow 22/tcp ufw allow http ufw allow https ufw enable ufw status
22/tcp ALLOW Anywhere
などが表示されたらOK
(必要に応じて)再起動
カーネル更新があった場合はやっておくと安心reboot
もう一度 root
でログインして続行
カーソルの位置が変なところにいったりして、止まって操作できないときは
systemctl status ...
がページャ表示になっている可能性があります。
その場合はq
で抜けてからコマンドを打ち直します。
③ PC(Windows)からターミナルでやること
1) Xserver「パケットフィルター」の開放(超重要)
- VPSパネル → パケットフィルター設定
- SSH(TCP 22) を「追加」
- Web(TCP 80/443) を「追加」
- 反映に数十秒かかることがあります

2) PowerShellからSSH接続テスト
ssh root@<VPSのIP>
# 例:ssh root@220.158.20.171
- 初回は指紋確認 →
yes
- パスワード入力(表示は出ません)
- 成功例:
Welcome to Ubuntu 25.04 ... root@x220-...:~#
タイムアウト(connect to host … port 22: Connection timed out) の場合
- sshdが起動していない → ②-3を再確認
- UFWで22番が開いていない → ②-4を再確認
- パケットフィルターで22番が許可されていない → ③-1を設定
3) 一般ユーザーの作成(安全運用の基本)
- 普段使いはrootでなく「一般ユーザー + sudo」にします(例:
user1
)
adduser user1
usermod -aG sudo user1
- 動作確認
su - user1
sudo whoami # → root と出ればOK
- 以後はPCから
ssh user1@<VPSのIP>
④ よくある詰まりポイントと対処
- パスワード入力時に文字が出ない
→ 仕様です。何も表示されませんが入力されています。 Login incorrect
になる
→ ユーザー名はroot
か? パスワードは正しいか? 似た文字(l/1/I、O/0)の見間違いに注意。
→ 管理画面からrootパスワードを再設定できます。ufw: command not found
→apt install -y ufw
で導入してから設定。- PowerShellからずっとタイムアウト
→ Xserverのパケットフィルターで22番が許可されていない可能性が最も高い。
「SSH(22)」と「Web(80/443)」を追加→有効化。 systemctl status
から戻れない
→q
で抜ける(ページャ表示時)。
⑤ ここまで終わったら(任意の安全化・運用準備)
- rootログインを禁止(一般ユーザーで入って sudo を使う運用へ)
sudo nano /etc/ssh/sshd_config # PermitRootLogin no に変更 sudo systemctl restart ssh
- 公開鍵認証へ移行(パスワードログイン無効化)
- Windowsで鍵作成
ssh-keygen
- VPS側
~/.ssh/authorized_keys
に公開鍵を配置 PasswordAuthentication no
にしてsudo systemctl restart ssh
- Windowsで鍵作成
- サイト公開の土台を用意
- 静的サイト:
sudo apt install -y nginx
→/var/www/html
にアップロード(WinSCP推奨) - WordPress:
nginx + php-fpm + mysql
を導入 - アプリ(Node/Django等):
pm2
やgunicorn + nginx
で常駐・リバースプロキシ化
- 静的サイト:
参考:今回実行した主なコマンド一覧(コピペ用)
*シリアルコンソールでは貼り付けできない場合があります。手打ちで確実に。
# パッケージ更新
apt update && apt upgrade -y
# SSHサーバー
apt install -y openssh-server
systemctl enable --now ssh
systemctl status ssh
# UFW(内部FW)
apt install -y ufw
ufw allow 22/tcp
ufw allow http
ufw allow https
ufw enable
ufw status
# 再起動(必要時)
reboot
# 一般ユーザー作成+sudo付与(例:user1)
adduser user1
usermod -aG sudo user1
su - user1
sudo whoami
PowerShell 側:
ssh root@<VPSのIP>
# or
ssh user1@<VPSのIP>
以上で、**「契約直後のVPSを、本番運用に入れるための土台作り」**はクリアです。