Skip to content

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

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

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

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

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 (22 unless you moved it). Test from outside your own network first with sftp -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-cbc or diffie-hellman-group-exchange-sha1 will be refused; enable aes256-ctr or [email protected] and curve25519-sha256 on 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

  1. Sign in at app.cloudslinker.com, open Add Cloud and choose SFTP.
  2. Display name is pre-filled with “SFTP”. Rename it to something you will recognise in the task list, such as “Hetzner VPS – backups”.
  3. Host: the hostname or IP address, without sftp:// and without a port.
  4. Username: the SFTP account.
  5. Port: pre-filled with 22; change it only if the server listens elsewhere.
  6. Password: the account password.
  7. Access Path (optional): leave empty to start at the account’s root, or enter a directory such as /var/backups.
  8. 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.
CloudsLinker Add Cloud dialog for FTP and SFTP servers with display name, host, username, port, password and optional access path fields
FTP and SFTP share the same dialog. The SFTP version has the fields shown here minus the FTP-only "max concurrent connections" box.

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; 22 by 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 / sha1sum executed 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?

Not at the moment. The SFTP dialog accepts host, username, password, port and an optional path only, so the account must allow password authentication. Keep keys for your admins and add a 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?

CloudsLinker opens an SSH connection to the host and port you entered, authenticates with the password, starts the SFTP subsystem and reads the start path. If any step fails, whether a closed port, a wrong password or a server that only offers CBC ciphers, the dialog shows the error and the connection is not saved.

Why does an old server refuse to connect?

The connector does not enable 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?

No. The SFTP session and the upload to the destination cloud both run on CloudsLinker's servers. You can close the tab, and the task page keeps counting files, bytes and errors until the run ends.

How long does 1 TB take, and what does it cost?

Throughput is set by your server's uplink and CPU, not by CloudsLinker. At a sustained 20 MB/s a 1 TB copy needs about 14 hours; at 50 MB/s about 5.6 hours. On the pricing side, the free account includes 10 GB per month for testing, the Lite plan covers 800 GB per month with unused balance carried forward, and the Unlimited plan removes the cap for $5.83 per month on yearly billing.

Are copied files verified?

When the SFTP account can run 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?

Yes. The same connection works as a destination. Modification times are written back after each upload, so photos from iCloud or Google Photos keep their original dates on the server, and the optional start path keeps CloudsLinker inside one directory.

My server is behind NAT or a corporate firewall. Will it work?

Only if the SFTP port is reachable from the public internet. Forward the port on the router, then restrict the rule to CloudsLinker's outbound addresses (ask support for the current list) rather than opening it to everyone. There is no on-premise agent or VPN option, so a server that can only be reached inside a private network cannot be used.

Does CloudsLinker verify the server's host key?

No host key pinning is applied; the key presented on connection is accepted. Compensate on the server side: give CloudsLinker its own user with no shell, chroot it to the directory being migrated, and allowlist CloudsLinker's source addresses in the firewall. Revoking access is a password change on the server.

Is CloudsLinker an official OpenSSH or SFTP vendor product?

No. CloudsLinker is a third-party client that uses the standard SSH SFTP subsystem, which is why it works with OpenSSH, ProFTPD 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

OneDrive

OneDrive

Google Drive

Google Drive

Google Photos

Google Photos

Shared Drive

Shared Drive

OneDrive for Business

OneDrive for Business

Dropbox

Dropbox

Box

Box

Mega

Mega

pCloud

pCloud

Yandex

Yandex

ProtonDrive

ProtonDrive

AWS

AWS

GCS

GCS

iDrive

iDrive

Storj

Storj

DigitalOcean

DigitalOcean

Wasabi

Wasabi

1fichier

1fichier

PikPak

PikPak

TeleBox

TeleBox

OpenDrive

OpenDrive

Backblaze B2

Backblaze B2

Fastmail file

Fastmail file

SharePoint

SharePoint

Nextcloud

Nextcloud

ownCloud

ownCloud

Premiumize me

Premiumize me

HiDrive

HiDrive

Put.io

Put.io

Sugar Sync

Sugar Sync

Jottacloud

Jottacloud

Seafile

Seafile

Ftp

Ftp

SFtp

SFtp

NAS

NAS

WebDav

WebDav

4shared

4shared

Icedrive

Icedrive

Cloudflare R2

Cloudflare R2

Scaleway

Scaleway

Hetzner Object Storage

Hetzner Object Storage

Synology C2 Object Storage

Synology C2 Object Storage

S3 Compatible

S3 Compatible

Doi

Doi

iCloud Drive

iCloud Drive

iCloud Photos

iCloud Photos

FileLU

FileLU

Zoho WorkDrive

Zoho WorkDrive

Telia Cloud / Sky

Telia Cloud / Sky

Drime

Drime

Filen

Filen

TeraBox

TeraBox

Internxt

Internxt

Degoo

Degoo

Gofile

Gofile

Pixeldrain

Pixeldrain

Shade

Shade

Koofr

Koofr

Didn't find your cloud service? Contact: [email protected]