# ストレージVPSでBorgバックアップサーバーをセットアップするにはどうすればよいですか？

> VPSでBorgバックアップサーバーをセットアップする方法：borgユーザー、authorized_keysでのborg serve --append-only、repokey、pruneとcompact。1 TBで$1.66、暗号資産で支払い、本人確認不要。

- URL: https://coffervale.com/ja/borg-backup-server-on-a-vps/
- 最終更新: 2026-11-02
- 発行者: Coffervale (https://coffervale.com)

Borgサーバーは、1つのコマンドだけを実行できるSSHアカウントにすぎません。そのコマンドをキーごとに制限し、クライアントはappend-onlyのままにし、pruneは攻撃者が到達できない場所から実行してください。

**概要 — VPSでBorgバックアップサーバーをセットアップするにはどうすればよいですか？**

VPSでBorgバックアップサーバーをセットアップするには、両端にBorg 1.xをインストールし、`borg`ユーザーを作成し、各クライアントキーに`borg serve --restrict-to-path --append-only`を強制します。各リポジトリを`repokey`で初期化し、別の管理キーからpruneとcompactを行います。**Coffervale**の1 TB VPSは12か月契約で月額$1.66です（2 November 2026）。

## 手順を順番に教えてください。

1. **サーバーとクライアントに同じBorg 1.xをインストールする** — DebianまたはUbuntuでapt install borgbackupを実行し、両端でborg --versionを比較します。
2. **borgユーザーとリポジトリ用フォルダーを作成する** — VPS上の1つの非特権アカウントがすべてのリポジトリを所有し、クライアントがシェルを取得することはありません。
3. **authorized_keysでborg serveを強制する** — クライアントキーごとに1行、それぞれを--restrict-to-pathと--append-onlyで自身のパスに限定します。
4. **repokeyでリポジトリを初期化する** — クライアントからborg init --encryption=repokeyを実行し、キーをエクスポートして両方のマシンから離れた場所に保管します。
5. **クライアントでborg createをスケジュールする** — cronまたはsystemdタイマーで毎日、パスフレーズはBORG_PASSCOMMANDが読み取ります。
6. **管理キーからpruneとcompactを実行する** — --append-onlyのない2つ目のキーを、アーカイブ一覧を確認した後に信頼できるマシンから使用します。
7. **リポジトリをチェックし、リストアをテストする** — 週に1回borg check、月に1回--verify-data、数か月ごとに実際のborg extractを行います。

## サーバーはどのBorgバージョンを実行すべきですか？

**両端でBorg 1.xを実行してください。1.4.5が2026年11月2日時点の最新安定版で、Borg 2はまだベータ版です。** Borg 2.0のページでは、Borg 1.xのリポジトリと直接互換性のない破壊的リリースとされ、`borg init`が`borg repo-create`に改名されています。Debian 13でインストールすべきパッケージは`borgbackup`です（trixieでは1.4.0）。別個の`borgbackup2`パッケージは2.0のベータ版です。サーバーとすべてのクライアントに同じリリースをインストールしてください。

*ストレージVPS上で、rootとして：Borg、borgユーザー、クライアントごとのフォルダ*

```bash
apt install borgbackup
borg --version

useradd --create-home --home-dir /srv/borg --shell /bin/sh borg
install -d -m 700 -o borg -g borg /srv/borg/.ssh /srv/borg/repos
install -d -m 700 -o borg -g borg /srv/borg/repos/laptop /srv/borg/repos/web1
```

## 各クライアントを自分のリポジトリだけに制限するにはどうすればよいですか？

**`/srv/borg/.ssh/authorized_keys`内のすべてのキーの前に強制`borg serve`コマンドを置き、そのキーがBorgだけを実行できるようにします。** `restrict`キーワードはポート転送、エージェント転送、ターミナルをブロックし、Borgのドキュメントによれば将来のリリースで追加されるSSH機能も対象になります。例ではアカウントのログインシェルとしてPOSIXシェルを想定しているため、上記のユーザーには`/bin/sh`を設定します。

- `--restrict-to-path PATH`はそのパスと配下のすべてのフォルダを許可するので、1つのクライアントが複数のリポジトリを持てます。
- `--restrict-to-repository PATH`はより厳格で、リポジトリはちょうど1つ、サブフォルダは不可です。
- `--append-only`はキーがアーカイブを追加できるようにしますが、リポジトリからデータを削除することはできません。
- `--storage-quota 500G`は1つのキーが保存できる量を制限するので、暴走したクライアントがディスクを埋めることはありません。

各行はファイル内で1行のままにします。最後の管理キーには`--append-only`がなく、pruneにのみ使用します。

*/srv/borg/.ssh/authorized_keys (owner borg, mode 600)*

```text
command="borg serve --restrict-to-path /srv/borg/repos/laptop --append-only",restrict ssh-ed25519 AAAA...laptop-key... laptop
command="borg serve --restrict-to-path /srv/borg/repos/web1 --append-only --storage-quota 500G",restrict ssh-ed25519 AAAA...web1-key... web1
command="borg serve --restrict-to-path /srv/borg/repos",restrict ssh-ed25519 AAAA...admin-key... admin
```

*編集後、rootとして所有権を修正*

```bash
chown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keys
```

## repokey暗号化でリポジトリを作成するにはどうすればよいですか？

**クライアントで`borg init --encryption=repokey`を実行し、その後キーをエクスポートして、VPSとバックアップ対象のマシンの両方の外に保管してください。** Borgのドキュメントでは、経験則として強力なパスフレーズを付けた`repokey`を推奨しています。`repokey-blake2`は同じモードでBLAKE2bハッシュを使用し、ハードウェアアクセラレーションされたSHA-256がないプロセッサではおそらく高速です。`repokey`では、キーはリポジトリの`config`ファイル内にあり、パスフレーズで封印されています。パスフレーズを失うと、バックアップはあなたにも他の誰にも読めなくなります。Borgはまた、キーのオフサイトコピー（たとえば紙に書いたもの）を保管する必要があると述べています。

*クライアント上で（ここでは：ラップトップ）*

```bash
ssh-keygen -t ed25519 -N '' -C 'borg laptop' -f ~/.ssh/borg_ed25519

cat >> ~/.ssh/config <<'EOF'
Host coffer-borg
    HostName 203.0.113.10
    User borg
    IdentityFile ~/.ssh/borg_ed25519
    IdentitiesOnly yes
EOF

export BORG_REPO=ssh://coffer-borg/srv/borg/repos/laptop/main
borg init --encryption=repokey
borg key export --paper "$BORG_REPO" ~/borg-laptop-key.txt
```

*/usr/local/sbin/borg-backup on a server client, run daily as root*

```bash
#!/bin/sh
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main
# the passphrase file belongs to root, mode 600
export BORG_PASSCOMMAND='cat /root/.config/borg/passphrase'

borg create --stats --compression zstd,3 \
    ::'{hostname}-{now:%Y-%m-%dT%H:%M}' \
    /etc /home /var/www
```

## append-onlyリポジトリをpruneしてcompactするにはどうすればよいですか？

**信頼できる管理マシンから、`--append-only`のないキーを使用し、アーカイブが欠落していないことを確認した後で行います。** append-onlyモードでは、Borgの注記によれば、`prune`と`delete`は実行されますが、新しいトランザクションでデータを削除済みとしてタグ付けするだけで、compactionは警告もエラーもなく一切行われません。リポジトリのスペースは、書き換えが許可されたキーから`borg compact`を実行するまで解放されません。

同じ注記には落とし穴もあります。通常モードでの最初の書き込みで、攻撃者がクライアントキーを通じて行ったものを含め、以前のすべての削除が永続的になります。したがって、まずアーカイブを一覧表示してください。いくつかが欠落している場合は、何かをpruneする前に停止し、Borgのappend-onlyに関する注記の復旧手順に従ってください。制限のないキーで自動的にpruneするcronジョブは、append-onlyを無意味にします。Borgのドキュメントではまた、実際のpruneの前に毎回`--list`を付けた`--dry-run`を推奨しています。

*管理マシン上で、管理キーを使用してホストcoffer-admin*

```bash
export BORG_REPO=ssh://coffer-admin/srv/borg/repos/web1/main

borg list
borg prune -v --list --dry-run --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg compact
```

## リポジトリをチェックし、リストアが機能することを証明するにはどうすればよいですか？

**`borg check`を毎週、`borg check --verify-data`を毎月実行し、数か月ごとに実際のファイルを別のマシンに展開してください。** 通常のチェックはリポジトリとアーカイブのメタデータを検証します。`--verify-data`はすべてのチャンクを読み取り、復号化し、展開します。Borgはこれを非常に時間がかかると述べており、ハードディスクではその通りです。大規模なリポジトリの場合、`--repository-only --max-duration 3600`はリポジトリチェックを1時間単位のスライスに分割し、停止した場所から再開します。これらいずれも実際のリストアの代わりにはなりません。バックアップは、最後にデータを取り出したときの状態でしか価値がありません。

*クライアントからチェックとテストリストアを実行*

```bash
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main

borg check -v
borg check -v --verify-data
borg check -v --repository-only --max-duration 3600

mkdir -p /tmp/restore-test && cd /tmp/restore-test
borg list
borg extract --list ::web1-2026-11-02T03:00 etc/nginx
```

## Borgターゲットのコストは、ホステッドBorgストレージと比べてどうですか？

**Coffervaleの2026年11月2日の調査によると、ホステッドBorgストレージのコストはBorgBaseで1TBあたり月額$9.17（1TBのMediumプラン、年額$110.00）、rsync.netで1TBあたり$15.00でした。一方、本人確認書類なしで暗号資産を受け付けるホストのストレージVPSプランは1TBあたり中央値$4.00でした。** ホステッドサービスはサーバーを代行して運用します。ストレージVPSはrootと上記のセットアップをあなたに渡します。この選択については[ストレージVPSはrsync.netやBorgBaseのより安価な代替手段ですか？](https://coffervale.com/ja/rsync-net-alternative/ "Storage VPS against hosted Borg storage")で検討しています。当社はお客様のサーバーのバックアップを取得せず、お客様のデータのコピーを他のどこにも保存しません。そのため、CoffervaleのストレージVPSに置くものは、お客様のコピーの1つであるべきで、唯一のコピーにしてはいけませんなので、Borgサーバーは複数のコピーの1つにすぎません。[VPSをオフサイトバックアップに使うにはどうすればよいですか？](https://coffervale.com/ja/backup-vps/ "Off-site backups and 3-2-1 with a storage VPS")で説明しています。1TBプランの詳細は[1TBのストレージがあるVPSはどこで入手できますか？](https://coffervale.com/ja/1tb-vps/ "1 TB storage VPS")にあり、resticを好む場合は[Restic：VPSへのバックアップにはRESTサーバーかSFTPか？](https://coffervale.com/ja/restic-rest-server-vs-sftp/ "restic on a storage VPS")をお読みください。VPSディスクも暗号化するには、[Linux VPSでストレージディスクをマウントしてフォーマットするにはどうすればよいですか？](https://coffervale.com/ja/mount-storage-disk-on-a-vps/ "Mount and encrypt the data disk")をご覧ください。

### Borgターゲットの1TBあたり月額、2026年11月2日

| Borgターゲット | 1TBあたり月額 | 自分で運用するもの | 暗号資産で支払い |
| --- | --- | --- | --- |
| BorgBase Medium、1 TB | $9.17（年間$110.00） | なし：ホステッドBorgおよびresticリポジトリ | 記載なし |
| rsync.net、0〜9 TBティア | $15.00 | なし：SSH経由でアクセスするZFSストレージ | 記載なし |
| ストレージVPS、99プランの中央値 | $4.00 | このページで設定するBorgサーバー | はい：本人確認書類なしで暗号資産を受け付けるホスト |
| Coffervale Clay、1 TB | 12か月で$1.66 | このページで設定するBorgサーバー | BTC, USDT, USDC, ETH, SOL, LTC, XMR |

*価格確認日：2026年11月2日.*

価格は2026年11月2日に各サービスの自身のページで確認したものです。BorgBaseはMediumプランを年額で請求し、価格はVAT抜きで表示されています。ストレージVPSの中央値は500 GB以上のプランで、在庫があり月額請求のものを対象としています。

## Borgバックアップサーバーに関する質問

### クライアントとサーバーで同じBorgバージョンが必要ですか？

両方をBorg 1.xに保ち、できれば同じリリースにしてください。Borg 2はまだベータ版で、新しいリポジトリ形式を使用し、1.xのリポジトリを直接開けません。Debian 13では`borgbackup2`ではなく`borgbackup`をインストールしてください。

### --restrict-to-pathと--restrict-to-repositoryのどちらを使うべきですか？

`--restrict-to-path`はフォルダとその配下すべてを許可し、1つのクライアントが複数のリポジトリを保持する場合に便利です。`--restrict-to-repository`はちょうど1つのリポジトリのみを許可しサブフォルダは不可で、各クライアントが1つだけ持つ場合のより厳格な選択です。

### borg pruneの後でリポジトリが縮小しないのはなぜですか？

Pruneはアーカイブを削除済みとしてマークするだけです。スペースを解放するのは`borg compact`です。append-onlyキーを通じた場合、compactionは一切実行されないため、pruneとcompactは管理キーから行ってください。

### 1つのストレージVPSで複数のマシンのBorgリポジトリを保持できますか？

はい。各マシンに`authorized_keys`で専用のキー行を用意し、専用のパスを設定し、ディスクを共有している場合は専用の`--storage-quota`を用意してください。そうすれば、万一クライアントが1台侵害されても、届くリポジトリは1つだけになります。

### Borgのパスフレーズを紛失したらどうなりますか?

リポジトリは完全に読めなくなります。Borgもホストも復元できません。パスフレーズはパスワードマネージャーに、エクスポートしたキーは紙に保存し、VPSとクライアントから離れた場所に置いてください。

## 出典

1. [Borg 1.4.5 ドキュメント: リポジトリのホスティング](https://borgbackup.readthedocs.io/en/stable/deployment/hosting-repositories.html) — BorgBackup project (read 2026-11-02)
2. [Borg 1.4.5 ドキュメント: borg serve (制限オプション、append-only、ストレージ容量制限)](https://borgbackup.readthedocs.io/en/stable/usage/serve.html) — BorgBackup project (read 2026-11-02)
3. [Borg 1.4.5 ドキュメント: borg init (暗号化モード、キーのバックアップ)](https://borgbackup.readthedocs.io/en/stable/usage/init.html) — BorgBackup project (read 2026-11-02)
4. [Borg 1.4.5 ドキュメント: borg prune](https://borgbackup.readthedocs.io/en/stable/usage/prune.html) — BorgBackup project (read 2026-11-02)
5. [Borg 1.4.5 ドキュメント: borg compact](https://borgbackup.readthedocs.io/en/stable/usage/compact.html) — BorgBackup project (read 2026-11-02)
6. [Borg 1.4.5 ドキュメント: borg check](https://borgbackup.readthedocs.io/en/stable/usage/check.html) — BorgBackup project (read 2026-11-02)
7. [Borg 1.4.5 ドキュメント：追加の注意事項、append-onlyモード](https://borgbackup.readthedocs.io/en/stable/usage/notes.html) — BorgBackup project (read 2026-11-02)
8. [Borg 1.4.5 ドキュメント: クイックスタート (BORG_PASSCOMMAND)](https://borgbackup.readthedocs.io/en/stable/quickstart.html) — BorgBackup project (read 2026-11-02)
9. [Borg 2.0（予備情報）](https://www.borgbackup.org/releases/borg-2.0.html) — BorgBackup project (read 2026-11-02)
10. [BorgBackup リリース (最新は 1.4.5、プレリリースは 2.0.0b25)](https://github.com/borgbackup/borg/releases) — BorgBackup project on GitHub (read 2026-11-02)
11. [Debian trixie パッケージ: borgbackup 1.4.0、borgbackup2 2.0.0b19](https://packages.debian.org/search?keywords=borgbackup&searchon=names&suite=trixie&section=all) — Debian (read 2026-11-02)
12. [プランと料金](https://www.borgbase.com/) — BorgBase (read 2026-11-02)
13. [クラウドストレージの料金](https://www.rsync.net/pricing.html) — rsync.net (read 2026-11-02)

---

Coffervale: CoffervaleはヨーロッパでストレージVPSを販売しています。オフサイトバックアップ、Nextcloud、Seafile、Syncthing、アーカイブ用途向けに、500 GBから8 TBのHDDストレージを備えたKVMサーバーを提供しており、暗号資産で支払い、サインアップ時に身分証は不要です。サーバーはアムステルダム、ブカレスト、キシナウで稼働しており、運営者はパナマに登記された企業DomaineGoat LLCです。12か月契約では、各プランは、2026年11月2日に価格を確認したKYC不要の暗号資産ホスト10社から選定した、名前を明示した同等のストレージVPSより、月額で少なくとも25%安く設定されています。
