file-transfer beginner

winscp

A Windows GUI client for transferring files to Linux/Unix servers over SFTP, SCP, and FTP — without touching the command line.

What it is

WinSCP is a Windows application for transferring files between a local Windows machine and a remote Linux or Unix server. It supports SFTP, SCP, FTP, and WebDAV — SFTP being the protocol you’ll use almost every time. The interface is a two-panel file manager: local files on the left, remote filesystem on the right, with drag-and-drop transfers between them. Unlike scp or rsync from the command line, WinSCP gives you a visual representation of both sides of the transfer, which makes it a practical choice when working with servers that non-technical users also need access to.

Why I use it

I use WinSCP mainly when someone outside the team needs to upload files to a Linux server without knowing any shell commands. On one project, a CLO was regularly uploading documents to a Bitnami LAMP server via WinSCP — no SSH knowledge required, just a saved session and drag-and-drop. It also works well during migrations when I need to verify what’s been placed on a server before running a sync job with rsync.

Installation

WinSCP is a Windows-only application. Download the installer from the official site:

https://winscp.net/eng/download.php

Choose the Installation package for a standard install, or the Portable executables if you want to run it without installing. No package manager is involved on the Windows side.

If you are scripting WinSCP transfers on a Windows machine (CI, scheduled tasks), it also ships a .com command-line executable (WinSCP.com) that accepts scripting commands or .ini-style script files.

Common usage

# Connecting to a Linux server over SFTP is done through the login dialog.
# Host: your server IP or hostname
# Port: 22 (default for SFTP/SCP)
# Username: your Linux user
# Password or private key file (.ppk format for WinSCP, .pem needs conversion)

# To convert an AWS .pem key to .ppk for WinSCP, use PuTTYgen:
# Open PuTTYgen → Load your .pem → Save private key → .ppk

# Scripted transfer example (WinSCP.com command-line interface):
WinSCP.com /script=transfer.txt

# Contents of transfer.txt:
# open sftp://user:password@192.168.1.10/
# put C:\LocalFolder\file.txt /remote/path/
# exit

Note: WinSCP uses .ppk key files (PuTTY format), not raw .pem files. If you are connecting to an AWS EC2 instance or any server where you only have a .pem key, you must convert it first using PuTTYgen before WinSCP can authenticate with it.

Key shortcuts