For anything larger than a few files, copying over SSH is more reliable than uploading through a browser: there are no upload size or time limits, and an interrupted transfer can be resumed rather than restarted.
Two commands do almost everything. scp is the simpler one; rsync is the better choice for large transfers because it can resume and only copies what has changed.
What you need
- the server's host name — vm00000.sayob.com, where vm00000 is your server's identifier — or its IP address;
- your user name and password, or an SSH key;
- the SSH port, if it is not the default 22.
See How to connect to a server via SSH if you have not connected before.
From Linux or macOS
Copy a directory to the server:
scp -r /local/path [email protected]:/home/user/public_html
Copy a single file:
scp archive.tar.gz [email protected]:/home/user/
Copy from the server to your computer — the same command with the arguments reversed:
scp [email protected]:/home/user/archive.tar.gz /local/path/
Useful options:
-r— copy a directory and its contents.-P 2222— a non-default port. Note the capital P: lowercase-pmeans something else.-C— compress during transfer. Helps with text and code, makes no difference to already-compressed archives.
You will be asked for the password, and nothing appears as you type it — this is normal.
For large transfers, use rsync
rsync -avz --progress -e ssh /local/path/ [email protected]:/home/user/path/
If the connection drops, run exactly the same command again: rsync picks up where it stopped instead of starting over. It also skips files that are already identical, which makes a second run over a large directory very quick.
Note the trailing slash on the source path: /local/path/ copies the contents of the directory, while /local/path copies the directory itself into the destination. Getting this wrong produces a nested directory rather than an error.
From Windows
Recent Windows versions include the same commands — scp and ssh work in PowerShell exactly as above, with no installation needed.
If you prefer a graphical client, WinSCP is free and widely used: winscp.net. Choose SFTP as the protocol, enter the host name, port, user name and password, and click Login. Files are then copied by dragging between the two panes.
Prefer SFTP over SCP in the client: SCP is the older protocol and is no longer maintained in most tools.
Once you are on the server
Connect with:
ssh [email protected]
On the first connection you are asked to confirm the server's host key — type yes in full, not just y.
For moving files around on the server itself, mc (Midnight Commander) gives you a two-pane file manager in the terminal if it is installed: F5 copies, F6 moves, F10 exits, and Ctrl+O switches between the manager and the shell.
Worth knowing
- Set up key authentication if you copy files regularly — it removes the password prompt and is what makes automated transfers possible.
- Check ownership after copying. Files transferred as one user and then moved by another can end up unreadable by the web server. If a site shows errors after an upload, this is the first thing to check.
- Pack many small files first. A single archive transfers far faster than thousands of individual files, and an interruption leaves you in a clearer position.
If a transfer fails or the files do not appear where expected, open a ticket from your client area with the command you used.