PSCP - Secure File Transfer

Command-line secure file copy utility using SCP protocol

Download PSCP

PSCP 64-bit

For modern Windows systems

Download PSCP.exe (64-bit)
File size: ~800 KB

PSCP 32-bit

For older Windows systems

Download PSCP.exe (32-bit)
File size: ~700 KB

What is PSCP?

PSCP (PuTTY Secure Copy Protocol) is a command-line application for securely transferring files between a local computer and a remote server using the SSH file transfer protocol (SCP).

It's part of the PuTTY suite and provides a simple way to copy files to and from SSH servers without needing a graphical interface. PSCP supports both password and public key authentication.

Key Features

🔒

Secure Transfer

Encrypted file transfers via SSH

Fast & Efficient

Optimized for large file transfers

🔑

Key Authentication

Support for SSH keys and passwords

📁

Recursive Copy

Copy entire directories

Basic PSCP Commands

Upload Files to Server

# Upload single file
pscp file.txt user@server:/path/
# Upload multiple files
pscp *.txt user@server:/path/
# Upload directory recursively
pscp -r folder/ user@server:/path/

Download Files from Server

# Download single file
pscp user@server:/path/file.txt .
# Download multiple files
pscp user@server:/path/*.txt .
# Download directory
pscp -r user@server:/path/folder .

Advanced PSCP Usage

Advanced Commands

# Use SSH key for authentication
pscp -i private-key.ppk file.txt user@server:/path/
# Specify custom SSH port
pscp -P 2222 file.txt user@server:/path/
# Preserve file timestamps
pscp -p file.txt user@server:/path/
# Verbose output for debugging
pscp -v file.txt user@server:/path/
# Compress data during transfer
pscp -C file.txt user@server:/path/
# Batch mode (non-interactive)
pscp -batch file.txt user@server:/path/

Command Line Options

OptionDescriptionExample
-rRecursively copy directoriespscp -r folder/ user@server:
-pPreserve file timestampspscp -p file.txt user@server:
-i keyfileUse private key for authenticationpscp -i key.ppk file.txt user@server:
-P portConnect to specified SSH portpscp -P 2222 file.txt user@server:
-vVerbose output (debugging)pscp -v file.txt user@server:
-CEnable compressionpscp -C largefile.zip user@server:

Practical Examples

Website Deployment

# Upload website files
pscp -r website/* user@server:/var/www/html/

Database Backup

# Download database backup
pscp user@server:/backups/db.sql .

Log File Retrieval

# Download log files
pscp user@server:/var/log/*.log ./logs/

Configuration Sync

# Upload config files
pscp -i key.ppk config.conf user@server:/etc/

PSCP vs PSFTP vs WinSCP

FeaturePSCPPSFTPWinSCP
InterfaceCommand LineCommand LineGUI
ProtocolSCPSFTPSCP/SFTP
AutomationExcellentExcellentGood
Ease of UseModerateModerateEasy
File SizeSmall (~800KB)Small (~800KB)Large (~9MB)

Common Issues & Solutions

Permission denied

Solution: Check file permissions on the remote server and ensure your user has write access.

chmod 755 /path/to/destination/

Connection timeout

Solution: Check if the SSH port (default 22) is correct and accessible. Use the -P option to specify a different port if needed.

Key authentication failed

Solution: Ensure the private key file (.ppk) exists and has the correct permissions. Verify the corresponding public key is installed on the server.

Related Tools

;