Data Transfering (SFTP)
SFTP File Transfer Guide
This page explains how to transfer files to and from StreamGPU servers. SFTP is a secure file-transfer protocol that runs over SSH.
This guide is written for users who may be new to SSH and SFTP. There are many copy-pasteable examples below. If you are not familiar with terms like "terminal", "port" or "key file", please read the SSH glossary first.
What is SFTP?
SFTP (SSH File Transfer Protocol) lets you securely transfer files over an SSH connection. Unlike FTP, SFTP encrypts the data. SFTP also supports remote directory browsing, deleting files, and other basic file-management operations.
Common connection options
-i <file>: path to your private key file.-P <port>: SSH port number (uppercase-Pfor sftp/ssh).user@host: username and server address together (e.g.awesome@server.example.com).
This guide assumes you already know how to obtain the server address and the private key provided by the dashboard. See the Remote Access guide for basic connection steps.
StreamGPU servers only support SFTP. FTP is not supported — use SFTP.
OS-specific overview
Windows — WinSCP (recommended, GUI)
WinSCP is a free SFTP client with a graphical interface that supports drag and drop transfers.
- Install WinSCP (https://winscp.net).
-
In the login dialog set Protocol=SFTP, Host=the server address shown in the dashboard,
Port=the dashboard port, Username=
awesome, and set the private key file to the downloaded.pem(or a converted.ppk— see below).
- WinSCP and PuTTY normally use PuTTY-style private keys (
.ppk). If
you have a .pem key from the dashboard, convert it with PuTTYgen
(Load → Save private key) before using PuTTY/WinSCP.
- Alternatively, use WSL or Git Bash on Windows to run the same sftp
and ssh commands as on Linux/Mac.
Mac — Cyberduck or terminal
Use Cyberduck (GUI) or the terminal sftp command.
Linux — terminal
Most distributions include an sftp client by default.
Example connection
sftp -i ~/.ssh/streamgpu/<file> -P <port> awesome@<server>
Interactive SFTP basic commands (for beginners)
After connecting you will see an sftp> prompt. Common commands:
# connect
sftp -i ~/.ssh/streamgpu/my-server-abc123.pem -P 2222 awesome@server.example.com
# at the sftp> prompt
ls # list remote directory
pwd # show remote current path
lcd /path/to/local # change local working directory
cd /remote/path # change remote directory
get remote.txt # download remote file to local
put local.txt # upload local file to remote
mkdir newdir # create remote directory
rm file.txt # delete remote file
bye # disconnect
Local and remote paths can be absolute or relative. Use
ls and pwd to check your locations before transferring files.
For large or many-file transfers we recommend
rsync, which only transfers changed parts. Example:
rsync -avz --progress -e "ssh -i ~/.ssh/streamgpu/<file> -p <port>" local/ awesome@server:remote/
The options shown are core flags:
-a (archive/preserve), -v (verbose), -z (compress). Test with small files first.
Troubleshooting
- Permission denied — check the key file permissions:
chmod 600 - Connection refused — check port and firewall settings
- Slow transfers — check your network or try
rsyncoptions
Permission errors — more detail
Private key files must only be readable by you. Check permissions and owner:
ls -l ~/.ssh/streamgpu/
# -rw------- 1 youruser staff 1675 Dec 3 12:34 my-server-abc123.pem
# set permission if needed
chmod 600 ~/.ssh/streamgpu/my-server-abc123.pem
Host key (fingerprint) check
When you connect for the first time the server will show its host key fingerprint. If possible, compare this fingerprint with the value shown in the dashboard or provided by your administrator. If it does not match, stop and contact support — this could be a man-in-the-middle attack. Do not blindly answer yes if you are unsure.
Other troubleshooting examples
- Too many authentication failures — the SSH client may be trying multiple keys. Try:
ssh -o IdentitiesOnly=yes -i ~/.ssh/streamgpu/my-server-abc123.pem -p 2222 awesome@server.example.com