Searches like "SFTP to S3" or "Google Drive SFTP" mix up two different problems, and the answers have almost nothing in common:
- Partners need to upload into your cloud storage over SFTP. Your bucket or drive has to be an SFTP server. That takes a gateway.
- Files need to get from an SFTP or FTP server into cloud storage, or the other way round. That's a copy job, and one Windows PC can do it, by hand or on a schedule.
This guide is about the second. It starts with a short map of the first, so you can tell which one you are looking at.
If your storage has to accept SFTP uploads
A desktop app can't help here: something has to answer SFTP connections around the clock. The usual routes:
- Amazon S3: AWS Transfer Family puts a managed SFTP (and FTPS or FTP) endpoint in front of S3.
- Azure Blob Storage: has SFTP built in, on storage accounts with the hierarchical namespace turned on.
- Google Cloud Storage, Google Drive and Dropbox: no native SFTP. Hosted services such as Couchdrop or Files.com put an SFTP endpoint in front of them, or you run an SFTP server on a small virtual machine.
If you are the one fetching or delivering the files - from a vendor's SFTP server, to your web host, into a partner's FTP folder - read on.
How a desktop copy works
In FTPie both places are simply storages in a dual-pane file manager: the SFTP server on one side, the bucket or drive on the other. When you copy between them, FTPie downloads from one and uploads to the other in a single stream. Nothing is staged on your disk, so you don't need free space for the files - but every byte crosses your internet connection twice, once down and once up.
Two things follow from that:
- No third party handles or meters the data. There is no transfer service in the middle with a monthly gigabyte allowance.
- Your upload speed is the limit. A few gigabytes a night is fine on most office lines. Terabytes are a job for a tool that runs inside the cloud.
Step 1: Add both sides
Each storage asks for different details, so collect them first:
| Storage | What you need |
|---|---|
| SFTP | Host, port (usually 22), username, and a password or a private key file |
| FTP / FTPS | Host, port, username and password |
| Amazon S3 | The bucket's region, an Access Key ID and Secret Access Key, and a bucket that already exists |
| Azure Blob Storage | The storage account name, one of its account keys, and a container that already exists |
| Google Cloud Storage | A service-account JSON key with a Storage role, and a bucket that already exists |
| Google Drive, Dropbox | Nothing to copy out: you sign in with Google or Dropbox in your browser |
In FTPie, choose Add storage, pick the type and enter the details; for a server, Test connection tells you straight away whether they work. If your S3 key is limited to a single bucket, type that bucket's name in the optional Bucket field. Cloud and object storage connections are part of FTPie Pro, which you can try free.
Step 2: Copy once, by hand
Open the SFTP server in one pane and the bucket or drive in the other. Select the files or folders and drag them across, or copy and paste. A folder goes with everything inside it, the transfer shows its speed and the time left, and a dropped connection is retried instead of starting the whole copy again.
Object storage has one quirk worth knowing: S3, Azure Blob and Google Cloud Storage have no real folders, only
name prefixes such as exports/2026/. FTPie shows them as folders, and copying a folder tree in creates
the same prefixes, so it looks the way you'd expect.
Step 3: Put it on a schedule
For a recurring job - a vendor's nightly export into S3, or a Drive folder pushed to a web server every evening - use Scheduled Transfers:
- Select the files or folders to send, on whichever side they live.
- Choose Create scheduled transfer and pick the target folder in the other storage.
- Set the schedule: daily, weekly on chosen days, a custom interval, or once on a date.
- Decide what happens to files already at the target: Replace it sends every file on every run; Skip it sends only the new ones.
- Add a notification - email, Telegram, webhook or an in-app toast - so a failed night doesn't go unnoticed.
It sends; it doesn't sync. Nothing is ever deleted at the target, and a file removed from the source stays wherever
it was copied. FTPie also has to be running when the schedule comes round, so use a PC that is on at that hour.
If you are weighing this against a WinSCP or sftp script, How to
automate FTP and SFTP transfers on Windows compares the three routes.
When a desktop copy is the wrong tool
- Others must push files to you. That's the gateway problem from the top of this page.
- Files must move seconds after they land. A schedule runs at set times. Event-driven setups - an S3 event, an Azure Function, Transfer Family workflows - react at once.
- The volumes are huge, or the job must run on a server with nobody signed in. A command-line tool such as rclone on a cloud machine fits better. FTPie vs rclone covers where each one wins.
- You need a true mirror, with deletions carried over or changes flowing both ways. Scheduled Transfers sends copies; it doesn't keep two folders in sync.
Moving files between an FTP server and Google Drive specifically? That guide walks through the Drive case step by step. And object storage in FTPie covers what to enter for S3, Azure, Google Cloud and the S3-compatible providers such as R2, B2 and Wasabi.
Start Your 30-Day Free Trial
Download FTPie and start your free 30-day trial. Enjoy seamless FTP + cloud integration and keep using the free version afterward.
Download Free Trial