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
.ppkkey files (PuTTY format), not raw.pemfiles. If you are connecting to an AWS EC2 instance or any server where you only have a.pemkey, you must convert it first using PuTTYgen before WinSCP can authenticate with it.
Key shortcuts
F5— copy selected file(s) from one panel to the otherF6— move selected file(s) to the other panelF7— create a new directory on the remote sideF8— delete selected file(s)F2— rename selected file or directoryCtrl+S— open site manager (saved sessions)Ctrl+T— open a new tab (useful for juggling multiple server sessions)Alt+Enter— show file properties (permissions, owner, timestamps)