Last updated: 2026-07-09
scp has been the default way to move a file over SSH for decades: it's on almost every Unix-like machine already, everyone knows the syntax, and it just works. There's no reason to pretend otherwise — scp earned its place.
Relayium's CLI doesn't replace SSH; it rides on top of the exact same SSH access you already have. push and pull use your SSH connection the same way scp does, but add a few things scp was never built to do: resuming a broken transfer, verifying every file with a checksum, showing real progress, and working even when the remote has nothing installed at all.
It's worth saying plainly: for a lot of jobs, scp is the right tool and adding anything else is overhead.
relayium push and relayium pull connect over the identical SSH access scp uses — same host, same key, same port. The difference is what happens once the connection is open.
Every file is verified end to end with a SHA-256 hash after it arrives, so a transfer that looks done actually matches what was sent, byte for byte. If a transfer is interrupted — a dropped connection, a closed laptop lid — restarting the same command picks up from where it left off instead of resending everything, and you see real per-file progress the whole way, not a silent copy.
The biggest practical difference is what happens when the remote doesn't have relayium installed. push checks for it automatically and, if it isn't there, falls back to streaming a plain tar archive over the same SSH connection into tar -x on the other end — so push still works against a completely bare server, nothing to install first. That fallback is push-only: pull always needs relayium already installed on the remote, because on a pull the remote machine is the one acting as the sender.
relayium push ./photos user@your-server:backups/
relayium pull user@your-server:backups/ ./restore
scp only ever works where you have SSH access. Relayium's CLI adds two more ways to move files that scp has no equivalent for.
relayium serve turns a machine you own into a daemon-direct target reachable over pinned TLS 1.3 — no SSH, no port 22, trust established on the first connection (approved interactively, or pre-authorized with relayium authorize for unattended use) and pinned from then on. Push straight to it with a relayium:// address.
For sending to someone across the internet who you don't have SSH access to at all, relayium send / receive pairs two computers with a short code instead — direct peer-to-peer, with a short verification code (SAS) both sides check before any bytes move. scp has no answer for that case; you'd need SSH access first.
relayium push ./build relayium://your-server
relayium send ./report.pdf ABCD-1234
Copying a whole directory again and again with scp -r means re-sending everything every time, with no notion of what changed or what should be removed. relayium sync builds an incremental one-way mirror on top of push/pull or daemon-direct: only changed files move, --delete removes files on the destination that disappeared from the source, and --watch keeps re-syncing in real time as files change locally — no cron job needed.
relayium sync ./photos user@your-server:backups/photos --delete --watch
The differences that matter most, side by side:
No. push/pull uses your own SSH access exactly like scp does — no Relayium account, no sign-in, for any CLI mode.
Yes. push checks first and, if relayium isn't there, falls back to a plain tar stream over the same SSH connection so it still works against a bare server. That fallback is push-only — pull always needs relayium already installed on the remote, since the remote acts as the sender in a pull.
The commands look the same: relayium push src user@host:dest instead of scp -r src user@host:dest. The difference only shows up when something goes wrong — a dropped connection resumes instead of restarting, and every file is checksum-verified on arrival.
For a genuine one-off copy where nothing needs to resume, nothing needs verifying, and you don't want any extra binary — scp is already there and is the simpler pick. It's also the safer default inside quick scripts where you don't want a new dependency.
Yes, completely — no paid tier, MIT-licensed and open source, and every mode connects the two ends directly.
Install the free Relayium CLI and try push or pull over the SSH access you already have.
Get the CLI