SSH, SCP, FTP, SFTP, PuTTy, WinSCP and FileZilla (Linux/XP) tutorial.

Written by Tom on Tuesday 17/04/07

When administering web sites and back end databases it is necessary to transfer files, create back ups of databases and even replicate databases on different PC’s.

This is where SSH, SCP, FTP, SFTP, PuTTy, WinSCP and FileZilla come into their own.

XP File transfer and manipulation.

WinSCP and FileZilla provide a GUI that allows the user to FTP, SFTP via SSH, ie to transfer files in a secure environment between different PC’s. I use these apps to upload files to the web sites I manage and to down load files like database dumps.

Linux: File manipulation.

Linux comes with "Secure Shell" (SSH) installed by default. Open a terminal and type ssh "username"@"your Site" ie ssh you will be prompted for a password. Once you have logged in you can list files (ls), move files from one location to another (mv/cp) etc.

Linux: File transfer.

Linux comes with "Secure Copy Protocol" (SCP) installed by default. Open a terminal and type scp "username"@"your Site:URL to file" ie
scp you will be prompted for a password. Enter the password and the file will be copied to you local working directory.

Let’s look at some definitions.


Developed by SSH Communications Security Ltd., "Secure Shell" is a program to log into another computer over a network, to execute commands in a remote machine, and to move files from one machine to another. It provides strong authentication and secure communications over insecure channels. It is a replacement for rlogin, rsh, rcp, and rdist. SSH protects a network from attacks such as IP spoofing, IP source routing, and DNS spoofing. An attacker who has managed to take over a network can only force ssh to disconnect. He or she cannot play back the traffic or hijack the connection when encryption is enabled. Source


Securely copy files between hosts on a network, using ssh. Part of the OpenSSH suite of network tools. scp requests a password or passphrase if required. The transfer can be between two remote hosts. Source


File Transfer Protocol. This is the language used for file transfer from computer to computer across the WWW. An anonymous FTP is a file transfer between locations that does not require users to identify themselves with a password or log-in. An anonymous FTP is not secure, because it can be accessed by any other user of the WWW. Source


1. Secure FTP (File Transfer Protocol). Also known as "SSH File Transfer Protocol". A network protocol providing file transfer and manipulation over a secure data stream.
2. FTP over SSH. Running FTP over a secure SSH connection.
3. Simple File Transfer Protocol. A protocol (defined by RFC 913) for an unsecured file transfer protocol that was less complicated and easier to implement than FTP. SFTP was not widely adopted and is generally regarded as obsolete.


PuTTY is an SSH, Telnet, rlogin, and raw TCP client. It was originally available only for Windows, but is now also available on various Unix platforms, with work-in-progress ports to Classic Mac OS and Mac OS X. Other people have contributed unofficial ports to other platforms. It is written and maintained primarily by Simon Tatham, and is open source, licensed under the MIT license.


WinSCP is an open source SFTP client and FTP client for Windows. Its main function is the secure file transfer between a local and a remote computer. Beyond this, WinSCP offers basic file manager functionality. It uses Secure Shell (SSH) and supports, in addition to Secure FTP, also legacy SCP protocol. Source


FileZilla is a free, open source FTP client for Windows. It supports FTP, SFTP, and FTPS (FTP over SSL/TLS). As of March 1, 2007, it was the 13th most popular download of all time from [1].
The main features are the site manager, message log, file and folder view, and the transfer queue.
The site manager allows a user to create a list of FTP sites along with their connection data, such as the port number to use, the protocol to use, and whether to use anonymous or normal logon. For normal logon, the username is saved and optionally the password.