Ever wonder how to copy files between computers, or even why you would want to? What is FTP? What is SFTP? And what in the world is an SFTP Client? In this lesson, we will define these terms, compare FTP to SFTP, and explain the concept of an SFTP Client.
It is easy to talk about files and file transfer without remembering that a file is just a place to keep information.
A traditional file contains pieces of paper, photographs, ledgers, and/or any other physical items that someone has considered valuable. A digital file serves the same purpose. A digital file may contain user information in the form of a document, a spreadsheet, or other structured data file, or a piece of media such as a photo, a sound clip, or a video; other files may contain information used by computer programs or the computer operating system. A digital file is the basic storage unit on any computer system.
A Payroll Example
Consider that you are operating a business; you have a timekeeping system that records your employees’ hours. You have an accountant who prepares the payroll and takes care of the tax reporting.
Every pay cycle, you need to send the current timekeeping information to the accountant. How do you do that? There are several options.For example:
- You can print out the records on paper and mail or fax them,
- You can email the timekeeping file to the accountant,
- You can copy the file onto a removable storage device like a USB thumb/stick drive and mail the drive.
- You can share your drive with the accountant directly or via the cloud, or
- You can use a file transfer program to send the file.
Printing out the information on paper means that someone will need to reenter it into the accountant’s system.
Email may be a good option, but most email programs limit the size of files that may be sent, and email requires manual intervention on both sides. Sending data on a removable storage device was once the only viable option for very large files, but that takes time. Sharing a drive may be viable alternative. It requires a stable communications connection, but may also require some technical expertise and cost to setup and maintain the share.
FTP and SFTP
File Transfer Protocol (FTP) is a built-in tool that lets computers copy files using a data network.
FTP transfers have built-in integrity-checking functions that make sure that data files arrive correctly and many programs allow for automated file transfers. Transferring files between computers is part of everyday data processing. Since high-speed data networks connect computers from all over the world, FTP tools can copy files to any computer that is connected to the network.Since FTP is not secure, it would not be the best choice for payroll or other sensitive data. Secure File Transfer Protocol (SFTP) was developed to safely copy files using FTP transfers. SFTP Clients use the Secure Socket Shell (SSH) Protocol to create a secure connection.
The client allows the user to create a secure connection where an FTP transfer can copy a file using the SSH secured connection. The SSH protocol is commonly used by many Internet based applications to create secure connections where sensitive data can be exchanged, e.g. SSH is used to secure your password when you sign into your bank’s website.Transferring files using SFTP requires an SFTP Server and SFTP Client software. SFTP Client software tools allow users to logon to remote SFTP servers and create secure communication channels to send or receive files.
There are many SFTP client software packages. These include: BitKinex, IPswitch, SWISH, and WinSCP. Most SFTP client software packages include a graphical user interface (GUI); some allow users to create and use scripts that may be used to create automated file transfer processes.For example: To transfer a file using SFTP:
- Open the SFTP client software.
- Use a Login ID and password to establish a secure connection to the SFTP server using SSH.
- Select the Transfer Settings mode.
The most common mode is ‘Binary’ mode, which transfers files between systems without any modification. Binary mode is used to transfer any file type that must not be changed by the transfer.
- Upload a file using to the remote server or Download a file from the remote server.
- When the client software is closed, the connection with server is ended.
WinSCP provides one of the most popular SFTP Client software programs. WinSCP includes both a scripting capacity and a GUI. WinSCP is a free, open source program that is available to anyone.
The GUI interface allows the user to quickly connect and transfer files. Using the scripting language a user can setup scripts that can be run on their own. Scripts are a powerful tool when there is a need to automate SFTP processes. Scripts make it possible for SFTP transfers to run automatically without human intervention.
In data processing, transferring files from one computer to another is an essential task. There are many cases like the above example where SFTP transfers should be used. The key advantages to SFTP are that:
- SFTP can transfer large files,
- SFTP’s integrity-checking assures that files arrive correctly, and
- SFTP uses the Secure Socket Shell (SSH) Protocol to create a secure connection and then runs FTP transfers over the secure connection.
An SFTP client software package is needed to transfer files between computers and an SFTP server. Most SFTP clients come with graphical user interface (GUI); some allow users to create and use scripts that may be used to create automated file transfer processes.