Secure File Transfer &
A Plain-Language Guide to SSH, SCP, and rsync
Secure File Transfer &
Remote Access
A Plain-Language Guide to SSH, SCP, and rsync
What is This About?
When you work with computers — especially across different machines, servers, or networks — you often need to move files from one place to another or control a machine remotely. This guide explains three tools that IT professionals and engineers use to do exactly that, in plain language you can understand without a technical background.
SSH — Remote Control of a Computer
SSH stands for Secure Shell. It lets you connect to another computer over the internet or a local network and control it using text commands — as if you were sitting in front of it.
What can you do with SSH?
- Open a terminal window on a remote server or another computer
- Run programs, manage files, or check system status remotely
- Use it as the foundation for transferring files securely (which is how SCP and rsync work)
Key features
- Fully encrypted — no one can intercept your session
- Works on local networks (e.g. office LAN) and across the internet
- Can use a password or a secure digital key (like a badge instead of a PIN)
SCP — Quick, Simple File Copying
SCP (Secure Copy) is a tool for copying files between computers over SSH. It's fast to use and has a straightforward approach: pick a file, pick a destination, and it copies.
Best used for...
- One-off file transfers — sending a report, log file, or document to another machine
- Situations where simplicity matters more than efficiency
- Copying a single file or a small folder quickly
Limitations to be aware of
- If a file already exists on the destination, it copies the entire file again anyway — no shortcut
- If the transfer is interrupted (e.g. network drops), you must start from scratch
- Cannot skip or exclude specific files or folders
rsync — Smart, Efficient File Synchronisation
rsync is a more intelligent version of SCP. Instead of copying everything every time, it compares what is on the source and destination and only transfers what is new or has changed. This is called delta transfer.
Best used for...
- Regular backups or syncing a project folder between machines
- Large folders where most files do not change between transfers
- Situations where transfers might get interrupted and need to resume
- Keeping two locations in sync, including deletions
Key advantages over SCP
- Only transfers what changed — dramatically faster for repeated syncs
- Can resume from where it left off if interrupted
- Can mirror deletions — if a file is removed from the source, it can be removed from the destination too
- Supports excluding certain files or folders (e.g. skip temporary files or build outputs)
Side-by-Side Comparison
Here is how SCP and rsync compare on the features that matter most:
| Feature | SCP (Quick Copy) | rsync (Smart Sync) |
|---|---|---|
| Only copies files that changed | ❌ Always re-copies everything | ✅ Skips unchanged files |
| Can resume after interruption | ❌ Starts over from scratch | ✅ Picks up where it left off |
| Remove deleted files from destination | ❌ Not supported | ✅ Supported (optional) |
| Filter/exclude certain files | ❌ Not supported | ✅ Supported |
| Speed for repeated transfers | Slower (full copy every time) | Much faster after first run |
| Ease of use | Very simple | Slightly more options |
Same Network vs. Remote Access
Whether you are on the same office network or connecting from another city, these tools work the same way. The only difference is how you identify the target machine:
| Scenario | How you identify the machine |
|---|---|
| Same office / home network | Use the local IP address (e.g. 192.168.1.100) |
| Remote / over the internet | Use a public IP address or a domain name (e.g. myserver.com) |
Setup Checklist
If you want to receive connections on a machine (so someone can SSH into it, or copy files to it), here are the steps:
| 1 | Enable file receiving on the target machine. • On a Mac: Go to System Settings → General → Sharing → turn on Remote Login • On Linux: Run the command to install and start the SSH server |
| 2 | Find the machine's address on your network (looks like 192.168.1.100) — run ipconfig or check your network settings. |
| 3 | Set up a secure key (optional, but recommended) — this lets you connect without typing a password each time. |
| 4 | Test the connection — if the connection opens a remote terminal, you're all set. SCP and rsync will work too. |
Summary
All three tools work together as a family:
- SSH provides the secure foundation and lets you remotely control a machine
- SCP uses SSH to copy individual files quickly and simply
- rsync uses SSH to synchronise folders intelligently, only transferring what changed
For most real-world use cases — especially backups, project syncing, or anything you do repeatedly — rsync is the right choice. For a quick one-time file transfer, SCP is perfectly fine.
All three are industry-standard tools, widely used by engineers, developers, and system administrators across all types of organisations worldwide.