가입 시 신분증 불필요 · 500 GB부터 8 TB까지 스토리지 VPS · BTC, USDT, USDC, ETH, SOL, LTC, XMR로 결제
언어: 한국어
스토리지 구매하기

Borg 백업 서버 · 단계별 안내

스토리지 VPS에 Borg 백업 서버를 어떻게 설정합니까?

Borg 서버는 하나의 명령만 실행할 수 있는 SSH 계정에 불과합니다. 키마다 그 명령을 잠그고, 클라이언트는 append-only로 유지하며, prune은 공격자가 접근할 수 없는 곳에서 실행하세요.

마지막 업데이트: · 6 분 읽기

간단 답변

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의 권한 없는 계정 하나가 모든 저장소를 소유하며, 클라이언트는 셸을 받지 않습니다.

  3. authorized_keys에서 borg serve 강제

    클라이언트 키당 한 줄씩, 각각 --restrict-to-path과 --append-only로 자신의 경로로 제한합니다.

  4. repokey로 저장소 초기화

    클라이언트에서 borg init --encryption=repokey을 실행한 다음, 키를 내보내 두 기기 모두에서 떨어진 곳에 보관하세요.

  5. 클라이언트에서 borg create 예약

    cron 또는 systemd 타이머로 매일 실행하고, 암호 문구는 BORG_PASSCOMMAND이 읽도록 합니다.

  6. 관리자 키로 prune 및 compact 실행

    --append-only이 없는 두 번째 키로, 신뢰할 수 있는 기기에서 아카이브 목록을 확인한 후 사용합니다.

  7. 저장소 확인 및 복원 테스트

    매주 borg check, 매월 --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는 해당 경로와 그 아래의 모든 폴더를 허용하므로, 한 클라이언트가 여러 저장소를 가질 수 있습니다.
  • --restrict-to-repository PATH는 더 엄격합니다. 정확히 하나의 저장소만, 하위 폴더는 허용하지 않습니다.
  • --append-only은 키가 아카이브를 추가할 수는 있지만 저장소에서 데이터를 제거할 수는 없게 합니다.
  • --storage-quota 500G은 키 하나가 저장할 수 있는 양을 제한하므로, 통제를 벗어난 클라이언트가 디스크를 채울 수 없습니다.

각 줄은 파일에서 한 줄로 유지됩니다. 끝에 있는 관리자 키에는 --append-only이 없으며 오직 pruning에만 사용됩니다.

/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 문서는 강력한 passphrase와 함께 repokey을 원칙으로 권장합니다. repokey-blake2는 BLAKE2b 해시를 쓰는 동일한 모드로, SHA-256 하드웨어 가속이 없는 프로세서에서는 더 빠를 가능성이 큽니다. repokey의 경우 키는 passphrase로 봉인되어 저장소의 config 파일에 있습니다. passphrase를 잃으면 백업은 본인도 다른 누구도 읽을 수 없습니다. 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이 없는 키를 사용해, 신뢰할 수 있는 관리자 머신에서, 아카이브가 유실되지 않았는지 확인한 뒤에 하세요. Borg의 문서에 따르면 append-only 모드에서도 prune과 delete는 실행되지만 새 트랜잭션에서 데이터를 삭제됨으로 표시만 할 뿐이고, compaction은 경고도 오류도 없이 절대 일어나지 않습니다. 재작성이 허용된 키에서 borg compact을 실행하기 전까지는 저장소 공간이 회수되지 않습니다.

같은 문서에 함정도 있습니다. 일반 모드에서의 첫 쓰기는 이전의 모든 삭제를 영구화하며, 공격자가 클라이언트 키를 통해 한 삭제도 포함됩니다. 그래서 먼저 아카이브를 나열하세요. 일부가 없다면 멈추고, 무엇이든 prune하기 전에 Borg의 append-only 문서에 있는 복구 절차를 따르세요. 제한 없는 키로 자동 prune하는 cron 작업은 append-only를 무의미하게 만듭니다. Borg 문서는 또한 실제 prune 전에 매번 --list과 함께 --dry-run를 권장합니다.

관리자 머신에서, 관리자 키를 사용해 Host 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을 실행하고, 몇 달에 한 번씩 다른 머신에 실제 파일을 추출하세요. 일반 check는 저장소와 아카이브 메타데이터를 검증합니다. --verify-data는 모든 청크를 읽고 복호화하고 압축 해제하며, Borg는 이를 매우 시간 소모적이라고 표현하는데 하드 디스크에서는 정말 그렇습니다. 큰 저장소의 경우 --repository-only --max-duration 3600은 저장소 검사를 1시간 단위 구간으로 나누어 중단된 지점에서 이어갑니다. 이 중 어느 것도 실제 복원을 대체하지 못합니다. 백업의 가치는 마지막으로 데이터를 꺼내본 시점까지만 보장됩니다.

클라이언트에서 checks와 테스트 복원
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에서 TB당 월 $9.17(1 TB Medium 요금제, 연 $110.00), rsync.net에서 TB당 $15.00였고, 신분 서류 없이 암호화폐를 받는 호스트의 스토리지 VPS 요금제는 TB당 중앙값 $4.00였습니다. 호스팅 서비스는 서버를 대신 운영해 주고, 스토리지 VPS는 root와 위의 설정을 넘겨줍니다. 이 선택은 스토리지 VPS가 rsync.net이나 BorgBase보다 저렴한 대안인가요?에서 따져봤습니다. 저희는 사용자의 서버를 백업하지 않으며 다른 어디에도 데이터 사본을 보관하지 않습니다. 따라서 Coffervale 스토리지 VPS에 있는 데이터는 사용자의 사본 중 하나여야 하며, 유일한 사본이어서는 안 됩니다, 그래서 Borg 서버는 여러 사본 중 하나입니다(VPS를 오프사이트 백업에 어떻게 사용하나요?에서 설명합니다). 1 TB 요금제는 1 TB 스토리지 VPS는 어디서 구하나요?에 자세히 나와 있으며, restic을 선호한다면 Restic: VPS 백업에는 REST 서버와 SFTP 중 무엇을 쓰나요?을 읽어보세요. VPS 디스크까지 암호화하려면 Linux VPS에서 스토리지 디스크를 어떻게 마운트하고 포맷하나요?를 참고하세요.

Borg 대상의 TB당 월 비용, 2026년 11월 2일

Borg 대상TB당 월직접 운영하는 것암호화폐로 결제
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 요금제를 연간 청구하며 부가세 제외 가격을 명시합니다. 스토리지 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은 폴더와 그 아래 모든 것을 허용하므로, 한 클라이언트가 여러 저장소를 둘 때 편리합니다. --restrict-to-repository은 정확히 하나의 저장소만 허용하고 하위 폴더는 허용하지 않으며, 각 클라이언트에 저장소가 하나일 때 더 엄격한 선택입니다.

borg prune 후에도 저장소가 줄지 않는 이유는 무엇인가요?

prune은 아카이브를 삭제됨으로 표시만 할 뿐이며, borg compact이 공간을 회수합니다. append-only 키를 통해서는 compaction이 아예 실행되지 않으므로, 관리자 키로 prune하고 compact하세요.

스토리지 VPS 하나로 여러 머신의 Borg 저장소를 둘 수 있나요?

네. 각 머신마다 authorized_keys에 별도의 키 줄을, 별도의 경로를, 그리고 디스크를 공유한다면 별도의 --storage-quota을 두세요. 그러면 침해된 클라이언트 하나가 도달할 수 있는 저장소는 하나뿐입니다.

Borg passphrase를 잃어버리면 어떻게 되나요?

저장소는 영구적으로 읽을 수 없게 됩니다. Borg도 복구할 수 없고 호스트도 복구할 수 없습니다. passphrase는 비밀번호 관리자에 보관하고, 내보낸 키는 종이에 인쇄해 VPS와 클라이언트에서 떨어진 곳에 보관하세요.

출처 (13)
  1. Borg 1.4.5 문서: Hosting repositories — BorgBackup project (read 2026-11-02)
  2. Borg 1.4.5 문서: borg serve (restrict 옵션, 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 문서: Quick start (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 없이

스토리지 구매하기