FTP and SFTP to Backblaze B2, on low-cost storage
Backblaze B2 is cheap storage with free egress up to three times what you store and no minimum storage duration. CloudFile adds an SFTP, FTPS and FTP server in front of a B2 bucket, written with an application key limited to that bucket.
Backblaze B2 with CloudFile, at a glance.
| Endpoint | https://s3.<region>.backblazeb2.com. The region is in the bucket's endpoint, e.g. eu-central-003. |
|---|---|
| URL style | Virtual-hosted |
| Credentials | keyID and applicationKey of an application key limited to one bucket. The master key doesn't work with the S3 API. |
| Regions | US West, US East, EU Central or CA East, fixed per Backblaze account when it's created |
| Pricing model | $6.95 per TB per month, first 10 GB free. Egress free up to 3x your average monthly storage, then $0.01 per GB. No minimum storage duration. |
| Object Lock | Supported, chosen per bucket |
Backblaze B2 prices are from their public website as of October 2026, excluding taxes. Your bucket is billed by Backblaze B2, not by us, and doesn't count toward your plan's storage.
Why pair SFTP with Backblaze B2.
Cheap at scale
Scanner archives, camera footage and partner exports add up. B2 bills storage per terabyte with the first 10 GB free.
Short-lived files are fine
No minimum storage duration, so drop folders that are processed and emptied daily don't carry a 30- or 90-day storage tail.
Downloads mostly free
Egress is free up to three times your average stored data each month, which covers partners downloading and webhooks fetching files.
Object Lock for backups
Turn on Object Lock for a backup bucket and pair it with a login that can't delete or overwrite. Old backups outlive a compromised client.
How it works, in three steps.
- Step 1
Create a bucket and an application key
Make the bucket private and note its endpoint. Create an application key for this bucket only, with Read and Write access.
s3.eu-central-003.backblazeb2.com key: cloudfile (acme-files) - Step 2
Connect it in CloudFile
Storage → Add bucket → Backblaze B2. Enter eu-central-003 (or your region), the keyID and the applicationKey.
Backblaze B2 eu-central-003 acme-files ✓ - Step 3
Uploads go to B2
SFTP, FTPS and FTP users each write to their own prefix, and every upload can trigger a webhook or an email.
acme → b2://acme-files/acme/export-2026-10.zip
Every click and field is in the Backblaze B2 setup guide.
What your partners see, and where it lands in Backblaze B2.
$ sftp -P 22000 [email protected]
sftp> put invoice-2026-10.pdf
sftp> ls
invoice-2026-10.pdfYour Backblaze B2 bucket<bucket>/<folder>/acme/invoice-2026-10.pdf
<bucket>/<folder>/_shared/inbox/…Any SFTP, FTPS or FTP client: FileZilla, WinSCP, Cyberduck, the sftp command or their own system. WebDAV too, if you turn it on.
Their own home folder as /, and nothing else. They never see the bucket name, other users' folders or your keys.
A password, an SSH key or both, with the permissions you pick: full access, read only or upload only.
Shared folders at /shared/<name> when several users need the same files. They live under _shared/<name>/ in your Backblaze B2 bucket.
Get these right in Backblaze B2.
B2 keeps every version of a file by default, so overwritten and deleted files keep counting toward storage. Set the bucket's lifecycle to keep only the last version.
Use the full region from the bucket's endpoint, such as us-west-004, not just us-west.
Application keys can't be edited. If the scope or access is wrong, create a new key.
Questions about SFTP on Backblaze B2.
Why doesn't my master application key work?
Backblaze doesn't accept the master key on its S3-compatible API. Create an application key limited to the bucket with Read and Write access, and use its keyID and applicationKey.
Can I keep data in the EU?
Yes, if your Backblaze account was created in the EU Central region. The region is fixed per account, so create a new account if yours is in the US.
Does FTP work, or only SFTP?
Both. Every server can accept SFTP, FTPS (explicit TLS) and plain FTP for devices that can't do anything else, plus WebDAV. They all write to the same B2 bucket.
Why is my B2 bill higher than the files I see?
Old versions. B2 keeps them by default, so every overwrite or delete over SFTP leaves a hidden version behind. Set the lifecycle rule to keep only the last version.
More in the docs: Backblaze B2 setup · Your own bucket · Webhooks