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

restic · rest-server 対 SFTP

Restic: VPSへのバックアップにはRESTサーバーとSFTPのどちらを使うべき?

どちらのバックエンドも、同じ暗号化されたリポジトリを同じフォルダ構成で保存します。違いは、誰が何を削除できるか、サーバーを何人で共有するか、そしてプロトコルが通信上どれだけのコストをかけるかです。

最終更新:

概要

Restic: VPSへのバックアップにはRESTサーバーとSFTPのどちらを使うべき?

resticによるVPSへのバックアップでは、クライアントにスナップショットを削除させたくない場合はrest-serverを使用してください。--append-onlyモードで削除を拒否し、--private-reposで各ユーザーをそれぞれのフォルダに留めます。信頼できる1台のマシンからバックアップし、SSH以外を必要としない場合はSFTPを使用してください。CoffervaleのストレージVPSでは、1 TBが12か月プランで月額$1.66(2 November 2026)です。

resticのRESTサーバーとSFTPバックエンドの違いは何ですか?

機能SFTPrest-server
VPS上のソフトウェアOpenSSH(インストール済み)rest-server(Debian 13パッケージrestic-rest-server、またはrestic/rest-serverDockerイメージ)
転送SSHHTTPまたはHTTPS、デフォルトではポート8000
ログインUnixアカウントごとのSSHキーhtpasswdファイル(bcryptまたはSHA)のHTTPユーザーとパスワード
クライアントが古いスナップショットを削除可能はいいいえ、--append-onlyで
ユーザーは分離されるUnixアカウントとフォルダのパーミッション--private-repos:各ユーザーは/<user>/の下のみ
ディスク上のリポジトリ構成ローカルリポジトリと同じローカルリポジトリと同じ
リポジトリの暗号化restic、常時有効restic、常時有効

rest-serverはSFTPより高速ですか?

rest-serverプロジェクトは「はい」と述べています。SFTPと比較して、RESTバックエンドはパフォーマンスが優れ、より大規模にスケールするとしています。 そのREADMEには理由が記されています。SFTPは最大32 KiBのチャンク単位でデータを転送し、サーバーがすべてのパケットに応答しますが、RESTはHTTP経由でファイル全体を送信します。resticは送信するすべてをすでに暗号化しているため、平文のHTTPではTLSのオーバーヘッドもなくなります。READMEはさらに、HTTPSは主にログインを保護するために機能すると補足しています。これはプロジェクト自身の主張であり、当社が実行したベンチマークではありません。ハードディスクを搭載したストレージVPSでは、プロトコルよりも先にディスクとアップリンクが速度を決めることがよくあります。

クライアント側では、SFTPに1つ既知の厄介な点があります。resticのドキュメントによると、SFTPサーバーは一定時間何も受信しないと接続を閉じるため、変更のないファイルの長時間のスキャンでこれが発生することがあります。

平文のSFTPがより良い選択となるのはいつですか?

信頼できる1台のマシンが自身のアカウントにバックアップし、追加のサービス、追加のポート、新たにパッチを当てるものを一切望まない場合です。 resticに必要なのはrestic -r sftp:user@host:/path initと、パスフレーズの入力を求められないSSHキーのみです。自動バックアップは尋ねるために停止できないからです。弱点はランサムウェアに対して最も重要な点です。クライアントを制御する者がrestic forget --pruneも実行してすべてのスナップショットを削除できるのです。SFTPには追記専用モードがないからです。

各SFTPアカウントがサーバーの他の部分を閲覧できないようにするには、OpenSSHでシェルなしの自身のフォルダに閉じ込めることができます:

/etc/ssh/sshd_config.d/restic-sftp.conf, then sshd -t && systemctl reload ssh
Match User restic-laptop
    ForceCommand internal-sftp
    ChrootDirectory /srv/restic-sftp/%u
    AllowTcpForwarding no
    X11Forwarding no
アカウント、chroot、リポジトリ、VPS上でrootとして。その後クライアントはsftp:[email protected]:/repoを使用
useradd --no-create-home --home-dir /srv/restic-sftp/restic-laptop --shell /usr/sbin/nologin restic-laptop
install -d -m 755 -o root -g root /srv/restic-sftp/restic-laptop
install -d -m 700 -o restic-laptop -g restic-laptop /srv/restic-sftp/restic-laptop/repo
install -d -m 700 -o restic-laptop -g restic-laptop /srv/restic-sftp/restic-laptop/.ssh
echo 'ssh-ed25519 AAAA...client-key... laptop' > /srv/restic-sftp/restic-laptop/.ssh/authorized_keys
chown restic-laptop:restic-laptop /srv/restic-sftp/restic-laptop/.ssh/authorized_keys
chmod 600 /srv/restic-sftp/restic-laptop/.ssh/authorized_keys

追記専用とプライベートリポジトリでrest-serverを実行するにはどうすればよいですか?

Debian 13では、restic-rest-serverをインストールし、/homeの外にあるデータフォルダを指定し、デフォルト設定ファイルで--append-only --private-reposとTLSを渡します。 パッケージ化されたサービスはrestic-rest-serverユーザーとして実行され、/etc/default/restic-rest-serverからBACKUP_DIR、LISTEN、ARGSを読み取り、BACKUP_DIRが設定されるまで起動を拒否し、デーモンから/homeを隠します。--private-reposを指定すると、ユーザーlaptopは/laptop/の下のリポジトリのみを開くことができるため、複数の人が互いのスナップショットを見ることなく1つのストレージVPSを共有できます。クライアントが--cacertでピン留めするため、自己署名証明書で十分です。

ストレージVPS上で、rootとして(Debian 13)
apt install restic-rest-server apache2-utils openssl
install -d -m 750 -o restic-rest-server -g restic-rest-server /srv/restic

openssl req -x509 -newkey rsa:3072 -nodes -days 3650 \
    -keyout /etc/restic-rest-server/key.pem -out /etc/restic-rest-server/cert.pem \
    -subj '/CN=coffer-backup' -addext 'subjectAltName=IP:203.0.113.10'
chown root:restic-rest-server /etc/restic-rest-server/key.pem
chmod 640 /etc/restic-rest-server/key.pem

cat > /etc/default/restic-rest-server <<'EOF'
BACKUP_DIR=/srv/restic
LISTEN=:8000
ARGS="--htpasswd-file /etc/restic-rest-server/users.htpasswd --append-only --private-repos --tls --tls-cert /etc/restic-rest-server/cert.pem --tls-key /etc/restic-rest-server/key.pem"
EOF

htpasswd -B /etc/restic-rest-server/users.htpasswd laptop
chown root:restic-rest-server /etc/restic-rest-server/users.htpasswd
chmod 640 /etc/restic-rest-server/users.htpasswd
systemctl enable restic-rest-server
systemctl restart restic-rest-server
クライアント側:認証情報はURLではなくプライベートファイルに
mkdir -p ~/.config/restic
scp [email protected]:/etc/restic-rest-server/cert.pem ~/.config/restic/coffer.pem

cat > ~/.config/restic/coffer.env <<'EOF'
RESTIC_REPOSITORY=rest:https://203.0.113.10:8000/laptop/
RESTIC_REST_USERNAME=laptop
RESTIC_REST_PASSWORD=the-htpasswd-password
RESTIC_PASSWORD_FILE=/home/me/.config/restic/repo-password
RESTIC_CACERT=/home/me/.config/restic/coffer.pem
EOF
chmod 600 ~/.config/restic/coffer.env

set -a; . ~/.config/restic/coffer.env; set +a
restic init
restic backup ~/Documents ~/Pictures

rest-serverが追記専用のとき、スナップショットをpruneするにはどうすればよいですか?

信頼できる管理マシンから、追記専用ではないパスを介してforget --pruneを実行し、--keep-withinでポリシーを記述します。 rest-serverはローカルリポジトリと同じ構成でリポジトリを保持するため、rootとしてのSFTPがまさに同じフォルダに到達し、リポジトリのパスワードをVPS上で入力する必要はありません。

--keep-withinの部分が重要です。resticのドキュメントは、追記専用リポジトリに空のスナップショットを追加する攻撃者について説明しています。これにより、週に1つのスナップショットといったポリシーが本物のスナップショットを除外してしまいます。時間ベースのポリシーは、ジャンクと本物のスナップショットの両方を保持します。これはforgetの実行時にシステムクロックが正しい場合にのみ役立ち、最初にrestic snapshotsを確認することを省く理由にはなりません。

管理マシンから、決してクライアントからは実行しない
restic -r sftp:[email protected]:/srv/restic/laptop snapshots
restic -r sftp:[email protected]:/srv/restic/laptop forget --keep-within 90d --prune
restic -r sftp:[email protected]:/srv/restic/laptop check --read-data-subset=5%

どのバックエンドを選ぶべきですか?

バックアップ対象のマシンがインターネットに面している場合は常にrest-serverを選び、シンプルさが勝る、単一のよく管理されたマシンにはSFTPを選びます。 追記専用のターゲットは、サーバーを暗号化する攻撃者によって空にすることはできず、その1つの特性が余分なデーモンを上回ります。

あなたの状況バックエンド理由
ノートPCまたはデスクトップ1台、アカウント1つSFTPインストール不要、新しいポートなし
ハッキングされる可能性のある公開サーバーrest-server --append-only盗まれたクライアントは履歴を削除できない
1つのVPS上の複数の人またはマシンrest-server --private-repos各ログインは自身のフォルダのみを参照
ネットワークからの外向きはHTTPまたはHTTPSのみ許可rest-serverSSHがブロックされている環境でも動作
両方:クライアントは追記専用、管理者がpruneクライアントにはrest-server、管理者にはrootとしてのSFTP同じフォルダ、2つのアクセスレベル

resticのターゲットは1TBあたりいくらですか?

2026年11月2日のCoffervaleの調査によると、resticがネイティブにサポートするオブジェクトストレージであるBackblaze B2は、月額1TBあたり$6.95でした。一方、ID書類なしで暗号資産を受け付けるホストのストレージVPSプランは、1TBあたりの中央値が$4.00でした。 オブジェクトストレージはサーバーを維持する必要がありませんが、ここで扱う2つのバックエンドのいずれも提供しません。ストレージVPSはその両方を実行できます。当社はお客様のサーバーのバックアップを取得せず、お客様のデータのコピーを他のどこにも保存しません。そのため、CoffervaleのストレージVPSに置くものは、お客様のコピーの1つであるべきで、唯一のコピーにしてはいけません: VPSがオフサイトコピーになります。詳しくはVPSをオフサイトバックアップに使うにはどうすればよいですか?]で説明しています。Borgを使いたい場合はVPSにBorgバックアップサーバーをセットアップするにはどうすればよいですか?]に従ってください。その下のディスクを暗号化するには、Linux VPSでストレージディスクをマウントしてフォーマットするにはどうすればよいですか?]をご覧ください。プランと条件はストレージVPSの月額費用はいくらですか?]に記載しています。

VPS上のresticに関する質問

restic over SFTPは暗号化されていますか?

はい、二重に暗号化されています。resticは保存するすべてのファイルをAES-256で暗号化し、アップロード前にPoly1305-AESで認証します。さらにSSHが接続を暗号化します。VPSが保持するのは暗号文だけです。

resticがすでにデータを暗号化している場合、rest-serverにはHTTPSが必要ですか?

はい、ログインのために必要です。TLSがないと、HTTPのユーザー名とパスワードが平文でネットワークを流れ、それを傍受した人があなたのリポジトリに書き込めるようになります。--tlsを使用するか、rest-serverをlocalhost上に置いてSSHトンネル経由でアクセスしてください。

rest-serverとSFTPは同じリポジトリを提供できますか?

はい。どちらもローカルリポジトリと同じフォルダレイアウトを使用するため、クライアントは追加専用のrest-server経由で書き込み、管理者は同じフォルダをSFTP経由でプルーニングできます。

rest-serverはどのポートでリッスンしますか?

デフォルトではすべてのアドレスでポート8000です。ファイアウォールではバックアップを行うアドレスのみに開放するか、WireGuardインターフェースなどのプライベートアドレスにバインドしてください。

どのresticバージョンを実行すればよいですか?

2026年11月2日時点の最新リリースは、2026年7月5日公開のrestic 0.19.1でした。Debian 13には0.18.0が同梱されています。現在のデフォルトであるリポジトリフォーマットバージョン2には、それを開くすべてのマシンにrestic 0.14.0以降が必要です。

出典 (10)
  1. Rest Server README: 使用する理由、追加専用モード、プライベートリポジトリ、htpasswd、TLS — restic project (read 2026-11-02)
  2. resticドキュメント: 新しいリポジトリの準備(SFTP、REST Server、B2) — restic project (read 2026-11-02)
  3. resticドキュメント: バックアップスナップショットの削除、追加専用モードのセキュリティに関する考慮事項 — restic project (read 2026-11-02)
  4. resticドキュメント: スクリプト、環境変数 — restic project (read 2026-11-02)
  5. restic ドキュメント:リファレンス、リポジトリの暗号化 — restic project (read 2026-11-02)
  6. resticリリース(2026年7月5日の0.19.1) — restic project on GitHub (read 2026-11-02)
  7. Debian trixieパッケージ restic-rest-server 0.13.0-2: サービスユニットとデフォルト — Debian (read 2026-11-02)
  8. Debian trixieパッケージ検索: restic 0.18.0 — Debian (read 2026-11-02)
  9. sshd_config(5): Match、ChrootDirectory、ForceCommand — OpenBSD project (OpenSSH) (read 2026-11-02)
  10. B2 Cloud Storageの料金 backblaze.com/cloud-storage/pricing — Backblaze (read 2026-11-02)

月額$1.24から・KYC不要

ストレージを取得