File Transfer Guide

Learn how to upload and download files to your TinyBox VPS

Important: Use Custom SSH Port

Always use your custom SSH port (10000 + VPS ID) for file transfers. Never use port 22 - failed attempts will block your IP!

SCP (Secure Copy) - Recommended

SCP is the most secure and widely supported method for file transfers over SSH.

Upload Files to Server

# Upload single file
scp -P [YOUR_SSH_PORT] localfile.txt root@[YOUR_VPS_IP]:/home/

# Upload entire directory
scp -r -P [YOUR_SSH_PORT] local_directory/ root@[YOUR_VPS_IP]:/home/

# Example for VPS ID 123:
scp -P 10123 website.zip [email protected]:/home/

Download Files from Server

# Download single file
scp -P [YOUR_SSH_PORT] root@[YOUR_VPS_IP]:/home/serverfile.txt ./

# Download entire directory
scp -r -P [YOUR_SSH_PORT] root@[YOUR_VPS_IP]:/home/server_directory/ ./

# Example for VPS ID 123:
scp -P 10123 [email protected]:/home/backup.tar.gz ./

SFTP (SSH File Transfer Protocol)

SFTP provides an interactive session for file management, similar to FTP but secure.

Connect to SFTP

# Connect to SFTP
sftp -P [YOUR_SSH_PORT] root@[YOUR_VPS_IP]

# Example for VPS ID 123:
sftp -P 10123 [email protected]

Common SFTP Commands

# Navigation
ls                    # List remote files
lls                   # List local files
pwd                   # Show remote directory
lpwd                  # Show local directory
cd /path/to/directory # Change remote directory
lcd /local/path       # Change local directory

# File Operations
put localfile.txt     # Upload file
get remotefile.txt    # Download file
put -r local_folder/  # Upload directory
get -r remote_folder/ # Download directory
rm filename           # Delete remote file
mkdir dirname         # Create remote directory

# Exit
quit                  # Exit SFTP session

Graphical FTP/SFTP Clients

GUI applications for easier file management with drag-and-drop functionality.

Windows

  • WinSCP - Free, popular choice
  • FileZilla - Cross-platform, free
  • PuTTY PSCP - Command-line tool

macOS / Linux

  • FileZilla - Free, cross-platform
  • Cyberduck - Free, macOS/Windows
  • Transmit - Paid, macOS only

Connection Settings for GUI Clients:

Protocol: SFTP (SSH File Transfer Protocol)

Host: your-server.tinybox.sh

Port: 10000 + Your VPS ID

Username: root

Authentication: Password or SSH Key

Best Practices & Tips

✓ Do This

  • • Use SSH keys for authentication
  • • Compress large files before transfer
  • • Transfer during off-peak hours
  • • Verify file integrity after transfer
  • • Use rsync for incremental backups

✗ Avoid This

  • • Never use port 22
  • • Don't transfer uncompressed databases
  • • Avoid transferring system files
  • • Don't ignore file permissions
  • • Never store passwords in scripts

Advanced: Rsync for Synchronization

Rsync is perfect for backups and keeping directories synchronized.

# Sync local to remote (upload)
rsync -avz -e "ssh -p [YOUR_SSH_PORT]" ./local_folder/ root@[YOUR_VPS_IP]:/home/remote_folder/

# Sync remote to local (download)
rsync -avz -e "ssh -p [YOUR_SSH_PORT]" root@[YOUR_VPS_IP]:/home/remote_folder/ ./local_folder/

# Example with progress and delete old files:
rsync -avz --progress --delete -e "ssh -p 10123" ./website/ [email protected]:/var/www/html/

Rsync Options Explained:

  • -a Archive mode (preserves permissions, timestamps, etc.)
  • -v Verbose output
  • -z Compress data during transfer
  • --progress Show transfer progress
  • --delete Delete files not present in source

Common Issues & Solutions

Connection refused or timeout

Check that you're using the correct SSH port (10000 + VPS ID) and your IP isn't blocked.

Permission denied

Verify your username (root) and password/SSH key. Check destination directory permissions.

Transfer interrupted or slow

Use compression (-z) and consider resumable transfers with rsync instead of SCP.

File not found after transfer

Check the destination path. Use absolute paths and verify file was transferred completely.