What is SFTP?
CloudsLinker's SFTP connector is a headless SFTP client that runs on CloudsLinker's own servers. You give it a hostname, a username, a password and a port (22 by default), plus an optional start path, and it opens an SSH session to your server the moment you click Authorize. A wrong port or password fails right there, before anything is saved. From then on the server sits next to your other clouds: copy files from it to Google Drive, OneDrive, Amazon S3, SharePoint or TeraBox, or write files back into it from iCloud Photos, Google Photos or PikPak. Data streams directly between the SFTP server and the destination cloud's API; nothing passes through your laptop. Under the hood the connector speaks the standard SSH sftp subsystem with 32 KiB read and write requests (the size every SFTP server is required to accept), keeps up to 64 requests outstanding per file so a high-latency link stays busy, reads and writes concurrently, and writes modification times back to the second. It has been used against OpenSSH, ProFTPD mod_sftp, Bitvise SSH Server, AWS Transfer Family, Azure Blob Storage SFTP endpoints and the SFTP service on Synology and QNAP NAS units.
The usual way to get data off an SFTP server is scp, rsync, WinSCP or FileZilla, and every one of them needs a machine that stays awake and connected for the whole run. A 500 GB VPS backup over a home connection is an overnight job that dies when the laptop lid closes. CloudsLinker takes that machine out of the loop: the copy runs on CloudsLinker's infrastructure, an interrupted file is retried on its own instead of restarting the job, and the same task can repeat weekly or monthly so the server keeps mirroring itself to the cloud after you have moved on to other work.
Key features of SFTP
Why connect SFTP to CloudsLinker
CloudsLinker connects to SFTP with a username and password over SSH on the port you specify (default 22). The current Add Cloud dialog does not take an SSH private key, so create a dedicated password-authenticated, SFTP-only account for it. The connector refuses legacy CBC ciphers and Diffie-Hellman group exchange, verifies copies with md5sum or sha1sum when the account has a shell, and otherwise compares size and modification time. Typical destinations: Google Drive, OneDrive, Amazon S3, SharePoint, Zoho WorkDrive and TeraBox.
What you can do with SFTP on CloudsLinker
SFTP → Google Drive, OneDrive or S3 in one task
Pick the SFTP server as source and any connected cloud as destination; CloudsLinker walks the directory tree over SSH and writes straight into the destination's API. Reverse the direction to push iCloud Photos or Google Photos exports back onto your own server.
Runs on CloudsLinker's servers, not yours
Close the browser once the task starts. Progress is tracked per file, and an interrupted file is retried on its own instead of restarting a 500 GB job from the beginning.
Repeat once, weekly or monthly
Schedule the same SFTP → cloud copy to run weekly or on chosen days of the month. Files that already exist with the same size and modification time are skipped, so repeat runs only move what changed.
Filter by extension and file size
Limit a run to .tar.gz backups, or cap file size in MB so a stray 200 GB disk image never leaves the server. Minimum and maximum size are set in MB; -1 means unlimited.
Common SFTP transfer scenarios
Retire a VPS: SFTP → Amazon S3 or Google Drive
When a hosting contract ends, connect the old server's SFTP account and copy /var/www, database dumps and upload folders to an S3 bucket (objects up to 5 TB each) or a Google Drive folder (5 TB per file, 750 GB per day upload quota). The copy runs from CloudsLinker's side, so a 300 GB site never has to squeeze through your home uplink. The FTP to Amazon S3 guide covers the S3 side of the setup.
Weekly 3-2-1 backup: Linux server → OneDrive or TeraBox
Schedule a weekly SFTP → OneDrive task for /etc, application data and backup archives. OneDrive accepts files up to 250 GB; TeraBox gives 1 TB of free space if you only need an off-site copy, as shown in the SFTP to TeraBox guide. After the first full copy, each weekly run skips unchanged files and moves only the delta.
Bring photos home: iCloud Photos or Google Photos → your SFTP server
Use the server as destination instead of source. CloudsLinker pulls originals from iCloud Photos or a Google Photos library and writes them into the SFTP path you choose on a NAS or VPS, giving you a copy on hardware you control with the original timestamps intact.
Modernise a partner file drop: SFTP → SharePoint or Zoho WorkDrive
B2B partners that deliver invoices or EDI files to an SFTP folder do not have to change anything. A weekly or monthly CloudsLinker task copies new arrivals into a SharePoint document library or a Zoho WorkDrive team folder where the finance team already works, with a 250 GB per-file ceiling on the SharePoint side.
Seedbox hand-offs: SFTP ↔ PikPak
Seedboxes expose completed downloads over SFTP. Copy them into PikPak for streaming, or push PikPak downloads onto your own server for long-term storage. Extension filters keep .nfo and sample files out of the run, and the Lite plan's 800 GB per month covers a typical month of hand-offs.
How to connect an SFTP server to CloudsLinker
SFTP is a server-parameter connection. There is no OAuth screen; you type the same details you would give WinSCP or FileZilla, and CloudsLinker keeps them for its transfer workers.
Before you start
- A reachable host and port. The server must accept SSH connections from the public internet on the SFTP port (
22unless you moved it). Test from outside your own network first withsftp -P 22 user@host; if that hangs, a firewall or NAT rule is in the way and CloudsLinker will hang too. - A password-authenticated account. The dialog has no SSH key field, so the account must allow password login. Rather than loosening your admin account, add a dedicated user and restrict it in
/etc/ssh/sshd_config:
Match User cloudslinker
PasswordAuthentication yes
ForceCommand internal-sftp
ChrootDirectory /srv/export
AllowTcpForwarding no
X11Forwarding no
OpenSSH requires the ChrootDirectory itself to be owned by root and not writable by the group or others; put the files in a subdirectory such as /srv/export/data. Reload sshd after editing.
- Modern ciphers on the server. Any OpenSSH from 6.5 (2014) onward is fine out of the box. Appliances that only offer
aes128-cbc,3des-cbcordiffie-hellman-group-exchange-sha1will be refused; enableaes256-ctror[email protected]andcurve25519-sha256on them first. - The start path, if you want CloudsLinker confined to one directory. For a chrooted user the path is relative to the chroot, for example
/data.
Connection steps
- Sign in at
app.cloudslinker.com, open Add Cloud and choose SFTP. - Display name is pre-filled with “SFTP”. Rename it to something you will recognise in the task list, such as “Hetzner VPS – backups”.
- Host: the hostname or IP address, without
sftp://and without a port. - Username: the SFTP account.
- Port: pre-filled with
22; change it only if the server listens elsewhere. - Password: the account password.
- Access Path (optional): leave empty to start at the account’s root, or enter a directory such as
/var/backups. - Click I got it, Authorize Now SFTP. CloudsLinker connects immediately. On success the page reloads and the server appears under My Linkers; on failure the error is shown and nothing is saved, so re-check the port, the password and the cipher note above.
Creating the first transfer task
Open Transfer, choose a folder on the SFTP server as the source and a folder in the destination cloud as the target. Optional filters let you include only certain extensions and set minimum or maximum file sizes in MB. Run the task once, or open the schedule and pick weekly or monthly execution. The task page lists every file with its status, so a failed file can be retried without touching the ones that succeeded.
Revoke access
Delete the SFTP entry under My Linkers to remove the stored credentials from CloudsLinker. To be certain on the server side, change the account password or lock the account with usermod -L cloudslinker; either action makes the stored connection unusable immediately.
SFTP limits and behaviours you should know
SFTP is a protocol rather than a hosted service, so most ceilings come from your server. These are the ones the CloudsLinker connector itself sets or depends on:
- Authentication: username and password only. SSH keys, passphrases and agent forwarding are not available in the dialog.
- Port: any TCP port;
22by default. - Request size: 32 KiB per read or write, up to 64 requests outstanding per file; concurrent reads and writes enabled.
- Ciphers and key exchange refused:
aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256. - Host key: accepted on first use; not pinned against a known-hosts list.
- Integrity check:
md5sum/sha1sumexecuted on the server when the account has a shell; otherwise size plus modification time. - Modification time: preserved in both directions with 1-second precision.
- Idle connection timeout: 60 seconds, after which pooled sessions are closed.
- Maximum file size: none imposed by the connector. Limits come from the server filesystem (ext4 16 TiB per file) and the destination: OneDrive 250 GB, Google Drive 5 TB, Amazon S3 5 TB per object.
- Scheduling: run once, weekly, or on selected days each month.
- Filters: file extension include list, minimum and maximum size in MB.
- Traffic allowance: free account 10 GB per month for testing; Lite 800 GB per month with rollover at $3.33 per month on yearly billing; Unlimited at $5.83 per month on yearly billing; Lifetime Unlimited $138.80 one-time.
Sources: OpenSSH release notes (10.0: DSA removed, post-quantum default key exchange), OpenSSH sshd_config manual: ChrootDirectory, ForceCommand, Match, IETF draft-ietf-secsh-filexfer: SSH File Transfer Protocol, ArchWiki: SFTP chroot, CloudsLinker pricing.
SFTP + CloudsLinker — Frequently Asked Questions
Can I connect with an SSH key instead of a password?
Match User cloudslinker block in sshd_config with PasswordAuthentication yes, ForceCommand internal-sftp and ChrootDirectory, so the password-only account cannot get a shell or leave its directory.
What happens when I click Authorize?
Why does an old server refuse to connect?
aes128-cbc, aes192-cbc, aes256-cbc, 3des-cbc or the diffie-hellman-group-exchange-* key exchanges. Add Ciphers aes256-ctr,[email protected] and KexAlgorithms curve25519-sha256 to the server's sshd_config, or update OpenSSH (anything from 6.5 in 2014 onward already has them), restart sshd and reconnect.
Does the data go through my computer?
How long does 1 TB take, and what does it cost?
Are copied files verified?
md5sum or sha1sum, each file's hash is compared after the copy. Accounts locked to internal-sftp have no shell, so CloudsLinker compares size and the 1-second modification time instead, which is also what decides whether a file is skipped on a repeat run.
Can CloudsLinker upload to my SFTP server, not just download from it?
My server is behind NAT or a corporate firewall. Will it work?
Does CloudsLinker verify the server's host key?
Is CloudsLinker an official OpenSSH or SFTP vendor product?
mod_sftp, Bitvise SSH Server, AWS Transfer Family, Azure Blob Storage SFTP endpoints and the SFTP service built into Synology DSM and QNAP QTS. Delete the cloud in CloudsLinker or change the password on the server to disconnect.
SFTP transfer guides
Step-by-step walkthroughs for moving data to and from SFTP.
Conclusion
An SFTP server is usually the last place data lives before a machine is decommissioned, and every tool for getting it out needs a computer babysitting the transfer. CloudsLinker replaces that with a password-authenticated SFTP session that runs on its own servers, verifies what it copies, and can be scheduled to keep the server mirrored to Google Drive, OneDrive, S3 or TeraBox. Connect the server once and start with a single folder to see the throughput you get.
Online storage services supported by CloudsLinker
Transfer data between over 58 cloud services with CloudsLinker
Didn't find your cloud service? Contact: [email protected]