サインアップ時に身分証不要・500 GBから8 TBまでのストレージVPS・BTC, USDT, USDC, ETH, SOL, LTC, XMRで支払い
言語: 日本語
ストレージを取得

Borgバックアップサーバー · ステップバイステップ

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

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ユーザー、クライアントごとのフォルダ
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)
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として所有権を修正
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はまた、キーのオフサイトコピー(たとえば紙に書いたもの)を保管する必要があると述べています。

クライアント上で(ここでは:ラップトップ)
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
#!/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
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時間単位のスライスに分割し、停止した場所から再開します。これらいずれも実際のリストアの代わりにはなりません。バックアップは、最後にデータを取り出したときの状態でしか価値がありません。

クライアントからチェックとテストリストアを実行
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のより安価な代替手段ですか?で検討しています。当社はお客様のサーバーのバックアップを取得せず、お客様のデータのコピーを他のどこにも保存しません。そのため、CoffervaleのストレージVPSに置くものは、お客様のコピーの1つであるべきで、唯一のコピーにしてはいけませんなので、Borgサーバーは複数のコピーの1つにすぎません。VPSをオフサイトバックアップに使うにはどうすればよいですか?で説明しています。1TBプランの詳細は1TBのストレージがあるVPSはどこで入手できますか?にあり、resticを好む場合はRestic:VPSへのバックアップにはRESTサーバーかSFTPか?をお読みください。VPSディスクも暗号化するには、Linux VPSでストレージディスクをマウントしてフォーマットするにはどうすればよいですか?をご覧ください。

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 TB12か月で$1.66このページで設定するBorgサーバーBTC, USDT, USDC, ETH, SOL, LTC, XMR

価格確認日:

価格は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とクライアントから離れた場所に置いてください。

出典 (13)
  1. Borg 1.4.5 ドキュメント: リポジトリのホスティング — BorgBackup project (read 2026-11-02)
  2. Borg 1.4.5 ドキュメント: borg serve (制限オプション、append-only、ストレージ容量制限) — BorgBackup project (read 2026-11-02)
  3. Borg 1.4.5 ドキュメント: borg init (暗号化モード、キーのバックアップ) — BorgBackup project (read 2026-11-02)
  4. Borg 1.4.5 ドキュメント: borg prune — BorgBackup project (read 2026-11-02)
  5. Borg 1.4.5 ドキュメント: borg compact — BorgBackup project (read 2026-11-02)
  6. Borg 1.4.5 ドキュメント: borg check — BorgBackup project (read 2026-11-02)
  7. Borg 1.4.5 ドキュメント:追加の注意事項、append-onlyモード — BorgBackup project (read 2026-11-02)
  8. Borg 1.4.5 ドキュメント: クイックスタート (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
  9. Borg 2.0(予備情報) — BorgBackup project (read 2026-11-02)
  10. BorgBackup リリース (最新は 1.4.5、プレリリースは 2.0.0b25) — BorgBackup project on GitHub (read 2026-11-02)
  11. Debian trixie パッケージ: borgbackup 1.4.0、borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
  12. プランと料金 borgbase.com — BorgBase (read 2026-11-02)
  13. クラウドストレージの料金 rsync.net/pricing.html — rsync.net (read 2026-11-02)

月額$1.24から・KYC不要

ストレージを取得