事前準備(Xserver 側)
Xserver VPS を契約し、OS を Ubuntu 22.04 にした。
契約完了後に得た情報(IP アドレス、root パスワード 等)はローカルに安全に保管。
Xserver 管理画面にログインして作業する(下記「パケットフィルター追加」参照)。
重要:SSH が Operation timed out になる時の対処(今回の原因)
接続を試した際に次のエラーが出た:
ssh root@<IP_ADDRESS>
→ ssh: connect to host <IP_ADDRESS> port 22: Operation timed out
この場合は多くが「ネットワークレベルで SSH パケットが VPS に届いていない」=VPS 側ファイアウォール(パケットフィルター)でポート22がブロックされていることが原因でした。
対処(Xserver 管理画面)
Xserver 管理画面 → VPS 管理 → サーバー選択 → パケットフィルター設定 を開く
「フィルター追加」フォームで次を設定して 追加:
フィルター種別:SSH
プロトコル:TCP
ポート番号:22
許可する送信元IP:全て許可(必要であれば限定可)
追加後、2〜3分待って再度 SSH 接続を試す
VPSへ直接ログイン(VNCコンソール)
パケットフィルター設定後もSSHで接続できない場合は、
Xserver VPSの管理画面から「VNCコンソール」を使って直接ログインします。
🔹 手順
Xserver VPS管理画面 → 対象サーバーを選択
右上の「コンソール」メニュー → VNCコンソール を選択
ログイン画面が表示されたら、以下を入力:
login: root
password: (契約時に発行されたrootパスワード)
SSHの起動確認と有効化
ログイン後、まずSSHが起動しているか確認します。
systemctl status ssh
もし inactive (dead) や failed の場合は、
以下のコマンドで起動と有効化を行います。
systemctl enable ssh
systemctl start ssh
再度確認:
systemctl status ssh
🟢 active (running) と表示されればOK!
rootログインを許可する設定(必要な場合)
初期状態ではrootログインが禁止されていることがあります。
SSH設定を変更して許可します。
nano /etc/ssh/sshd_config
以下の2行を探し、コメントアウトを解除または追加:
PermitRootLogin yes
PasswordAuthentication yes
保存後、SSHを再起動:
systemctl restart ssh
外部からSSH接続を確認
ローカル(Mac / Windows)から以下で再接続:
ssh root@<IP_ADDRESS>
これで接続できれば完了です🎉
もし「Connection reset」などが出る場合は、ufwの設定を確認。
ufw status
もし有効(active)なら、22番ポートを開放:
ufw allow 22/tcp
ufw reload
ここまでのまとめ
項目 内容
OS Ubuntu 22.04
rootログイン VNCで可能(パスワード使用)
SSHサービス systemctlで有効化
ポート22 パケットフィルター + ufwで開放
次に実施すること
🧱 Docker & n8n 構築手順
1. Docker の導入
サーバーにログイン後、まずDocker環境を整えます:
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
(任意)sudoなしでDockerを操作したい場合:
sudo usermod -aG docker $USER
その後、再ログインまたはSSH再接続してください。
2. n8n 用ディレクトリと基本ファイル作成
任意のフォルダで設定を行います。例として /root/n8n を使います:
cd /root
mkdir n8n
cd n8n
.env ファイル
nano .env
内容例:
GENERIC_TIMEZONE=Asia/Tokyo
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=(強いパスワード)
✏️ 書き込み手順(保存する)
内容をすべて入力し終えたら、
Ctrl + O (オーのキー)を押します。
💡 すると画面下に
File Name to Write: .env
と表示されるはずです。
そのまま Enterキー を押します。
→ .env ファイルに内容が保存されます。
🚪 終了する
保存ができたら
Ctrl + X を押します。
→ nanoエディタが閉じて、ターミナルの通常プロンプト(root@...:~#)に戻ります。
✅ 確認しておくと安心
念のため、保存できたか確認するには:
cat .env
と入力すれば、中身が表示されます。
今の内容:
GENERIC_TIMEZONE=Asia/Tokyo
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=(強いパスワード:ここは任意のパスワードを設定して下さい)
が見えたら成功です。
docker-compose.yml ファイルも、.env と同じように nano エディタで直接作成・編集
docker-compose.yml ファイル
nano docker-compose.yml
内容例:
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
env_file:
- ./n8n/.env
volumes:
- ./data:/home/node/.n8n
3. n8n の起動と動作確認
docker compose up -d
docker ps
注意点
data ディレクトリの権限を修正しないと、EACCES エラーが出ることがあるので注意。
コンテナを起動する前に以下を実行するのが安全です:
sudo chown -R 1000:1000 ./data
ブラウザで以下にアクセスしてログイン画面が表示されるか確認:
http://<IP_ADDRESS>:5678
設定した Basic 認証のユーザー/パスワードでログイン可能であればOK。
今は「ローカル or テスト運用用のHTTP環境」
後で安全な「本番HTTPS環境」に簡単に移行できます。
ライセンスキー取得について
✅ 取得・登録までの手順まとめ
n8n を バージョン 1.63.0 以上 に更新する必要があります。
n8n に Owner 権限でログイン後、左メニュー → Settings → Usage and plan を開く。
「Unlock selected paid features for free (forever)」などの案内が出ていたら、メールアドレスを入力して「Send me a free license key」ボタンを押す。
送られてきたキーを画面の「Enter activation key」から貼り付けて「Activate」。
今後の予定. 運用・セキュリティ強化のための追加設定
・HTTPS化とドメイン対応
インターネット上から安全にアクセスしたい場合は:
ドメインを取得
DNSの Aレコードで VPS の IP を指定
リバースプロキシ(例:Caddy または nginx)を使って 443番ポートで HTTPS化
docker-compose.yml を改変して、プロキシ設定を加える
・自動バックアップと監視
n8n のデータを定期的にバックアップ(ボリューム ./data を tar などで圧縮)
コンテナが停止した時の自動リスタート(restart: always を設定済)
ログ監視やアップデートの計画を立てる
・ファイアウォール(UFW)設定
Ubuntu 22.04 では ufw も有効にしておきましょう:
ufw allow 22/tcp
ufw allow 5678/tcp # または HTTPS対応後は 443/tcp
ufw enable
ufw status
以降は、この記事ベースのリンク
を参考に、「n8n + Caddy を使って自動HTTPS+サブドメイン構成」
なども構築可能です。
