What is SFTP?
SFTP — the SSH File Transfer Protocol — is the modern, secure replacement for FTP. Despite the similar name, it's a completely different protocol: SFTP runs over an SSH session on port 22, with the entire data exchange (control commands and file content) encrypted using the same algorithms that protect SSH terminal sessions — typically AES-128 / AES-256, with HMAC-SHA-2 message authentication and Diffie-Hellman key exchange. The current protocol version is SFTP version 6, introduced with SSH-2. Where FTP requires multiple ports (21 for control, 20 or a passive range for data) and exposes credentials in plaintext, SFTP needs only port 22 and never sends a password in the clear.
Where SFTP shines is in server-side scenarios — Linux VPS deployments, managed file-transfer between business partners, scientific data pipelines, IoT device telemetry uploads, and any context where SSH access already exists. Setting up an SFTP server is often as simple as enabling the OpenSSH daemon (already on every Linux machine), creating a user, and optionally chrooting that user to a specific directory via the internal-sftp subsystem. CloudsLinker bridges these SSH-secured endpoints to commercial cloud storage: connect any SFTP server with host + credentials + port + (optional) SSH private key, then run scheduled migrations to Google Drive, OneDrive, S3, Wasabi, B2, or any of 140+ destinations.
Key features of SFTP
Why connect SFTP to CloudsLinker
CloudsLinker connects to SFTP servers using standard parameters: hostname, username, password (or SSH private key for key-based auth), port (default 22), and optional initial path. The connector negotiates the strongest mutually-supported encryption suite (typically AES-256-GCM with curve25519 key exchange against modern OpenSSH 8+ servers), and supports the resume-interrupted-transfer feature of SFTP version 6. Once connected, transfers run server-to-server: CloudsLinker pulls bytes from the SFTP source over SSH and writes them to the destination cloud over its native API.
What you can do with SFTP on CloudsLinker
SFTP ↔ any cloud bridge
Connect any SFTP / SSH server and migrate to Google Drive, OneDrive, S3, Wasabi or B2 — single-port firewall-friendly, AES-encrypted in transit.
Runs on our servers
SFTP transfers execute on CloudsLinker infrastructure. Useful for slow legacy SSH servers where the migration takes hours — your machine doesn't need to stay online.
Scheduled SSH-based backup
Hourly / daily / weekly schedules. Common for Linux server log rotation, IoT device telemetry, and scientific instrument data ingest into S3.
Filter by path, type, age
Migrate only <code>/var/log/2026</code>, exclude files larger than the destination's cap, or sync only files modified in the last 7 days.
Common SFTP transfer scenarios
Linux server backup: SFTP → S3 / Wasabi / B2
Most Linux VPS servers expose SFTP by default for sysadmin access. Schedule a CloudsLinker nightly backup of /etc, /var/log, and application data folders from your server's SFTP to Wasabi ($6.99/TB) or B2 ($6/TB). Replaces ad-hoc rsync cron jobs with proper scheduling, delta sync, and cross-cloud destination flexibility.
Managed file transfer (MFT) between business partners → Google Drive shared folder
Many B2B partners exchange files via SFTP drops. CloudsLinker watches the inbound SFTP folder and copies new files to a Google Drive shared folder where the receiving team works — modernizing a legacy SFTP-based workflow without changing the partner's process.
Scientific instrument telemetry: SFTP → BigQuery via GCS
Lab instruments and research equipment often export data via SFTP. CloudsLinker schedules ingest from the instrument's SFTP into a Google Cloud Storage bucket where BigQuery reads it for analytics — bridging legacy on-prem science to modern cloud analytics pipelines.
IoT device backup: SFTP → S3 immutable backup
IoT gateways, embedded Linux devices, and edge servers often only support SFTP for outbound data. CloudsLinker schedules collection from these endpoints into S3 with Object Lock for immutable retention — meeting compliance requirements for IoT data lineage.
Plex / Jellyfin home media pipeline: Put.io → SFTP → home NAS
Media-server users wire Put.io (cloud torrent downloader) → CloudsLinker SFTP push → home NAS. CloudsLinker connects Put.io via OAuth as source and the home NAS via SFTP as destination — completed downloads land in the media folder automatically.
How to connect SFTP to CloudsLinker
SFTP uses server parameters: hostname, username, password (or SSH private key), port (default 22), and optional initial path.
Before you start
Gather the connection details:
- Hostname (e.g.
sftp.example.orgor an IP address) - Username — preferably a dedicated service account, not a real human user
- Authentication method: SSH private key (recommended) or password
- Port (default 22; some servers run SFTP on non-standard ports for security through obscurity)
- Initial path (optional — scope the connection to a specific directory)
For SSH key authentication: generate a dedicated key pair (ssh-keygen -t ed25519 -f cloudslinker_key), add the public key to the server’s ~/.ssh/authorized_keys, and paste the private key into CloudsLinker. Keep the key passphrase-protected for defense in depth.
Connection steps
- In CloudsLinker, click Add Cloud → choose SFTP.
- Enter a display name (e.g. “Linux VPS — backup”).
- Enter the hostname and port (default 22).
- Enter the username.
- Choose authentication:
- Password: enter the user’s SSH password.
- SSH private key (recommended): paste the contents of your private key file (typically
~/.ssh/cloudslinker_key).
- (Optional) Enter an initial path to scope the connection (e.g.
/home/backup/data). - Click Confirm — CloudsLinker establishes the SSH session, validates SFTP, and shows the connection ready.
Server-side hardening
For production SFTP-only setups, configure OpenSSH with:
Subsystem sftp internal-sftp(use the in-process SFTP subsystem, not the external one)Match Group sftpusersblock withChrootDirectory,ForceCommand internal-sftp,AllowTCPForwarding no,X11Forwarding no- Disable password authentication entirely if all users have SSH keys:
PasswordAuthentication no - Add fail2ban or similar to block brute-force attempts on port 22
Revoke access
Two paths to revoke CloudsLinker’s SFTP access:
- Password auth: change the user’s password on the server.
- SSH key auth: remove the CloudsLinker public key from
~/.ssh/authorized_keyson the server.
Either action invalidates CloudsLinker’s connection immediately.
SFTP upload & download limits you should know
SFTP is a protocol, not a service — limits depend entirely on the SFTP server you’re connecting to:
- Default port: 22 (SSH).
- Encryption: AES-128 / AES-256 with HMAC-SHA-2; modern OpenSSH defaults to chacha20-poly1305 and curve25519 key exchange.
- Maximum file size: no protocol-level cap. Practical limit: server filesystem (16 TiB+ per file on ext4/Btrfs).
- Resume interrupted transfers: supported in SFTP version 6 (the current version since SSH-2).
- Authentication: username + password, SSH private key, or both (key + password = strongest).
- Single port: no separate data channel like FTP — friendly to NAT / firewalls.
- Bandwidth: server-side configurable; no protocol-level cap. CPU encryption overhead can bottleneck on older hardware.
- Concurrent connections: server-side configurable (typically 5–50 simultaneous SSH sessions per user).
- Compatible with: OpenSSH (most Linux servers), Bitvise SSH Server, Cerberus FTP Server, JSCAPE MFT, Couchdrop, AWS Transfer Family, Azure Storage SFTP, and any RFC-compliant SFTP server.
- Chroot jails: OpenSSH
internal-sftpsubsystem locks users to specific directories without shell access. - No SFTP-specific encryption-at-rest: SFTP encrypts in transit only. For at-rest encryption, use full-disk encryption on the server.
Sources: Wikipedia: SSH File Transfer Protocol, SolarWinds: SSH File Transfer Protocol glossary, Fortra: SSH keys vs passwords for SFTP, ArchWiki: SFTP chroot setup.
SFTP + CloudsLinker — Frequently Asked Questions
Is SFTP the same as FTP or FTPS?
Should I use SSH keys or passwords?
~/.ssh/authorized_keys on the server, and paste the private key into CloudsLinker.
What's the maximum file size SFTP can transfer?
What encryption does SFTP use?
Are my SSH credentials safe with CloudsLinker?
internal-sftp subsystem), use SSH key auth instead of passwords, and rotate the key periodically.
How do I set up a chrooted SFTP user?
/etc/ssh/sshd_config: comment out the existing Subsystem sftp line, add Subsystem sftp internal-sftp, then add a Match block: Match Group sftpusers, ChrootDirectory /home/sftp/%u, ForceCommand internal-sftp, AllowTCPForwarding no, X11Forwarding no. Reload sshd. The user is now locked to their chroot directory with no shell access — only SFTP.
Does CloudsLinker work with SFTP servers behind a corporate VPN?
Can CloudsLinker schedule recurring SFTP transfers?
How fast can CloudsLinker pull from an SFTP server?
Is CloudsLinker an official partner of any SFTP server vendor?
SFTP transfer guides
Step-by-step walkthroughs for moving data to and from SFTP.
Conclusion
SFTP is the secure default for any server-side file transfer in 2026 — single port, AES-encrypted, key-auth-friendly. CloudsLinker bridges SFTP endpoints to commercial cloud storage with delta sync, resume-on-failure, and chroot-jail compatibility. Connect with host + credentials (or SSH key) + port and start moving Linux server data, IoT telemetry, or B2B file drops to S3 / Google Drive / OneDrive in minutes.
Online storage services supported by CloudsLinker
Transfer data between over 48 cloud services with CloudsLinker
Didn't find your cloud service? Contact: [email protected]