FTP vs. SFTP

When you transfer files from your computer to your server or from one computer to another, you probably use an FTP program.  Some of those programs, like FileZilla, offer support for additional protocols like SFTP.  There is an important difference between FTP and SFTP, and you should know what both are before you start transferring files.

FTP stands for File Transfer Protocol and is the most widely used protocol for file distribution and downloading.  Many public servers, particularly universities may even use anonymous FTP, allowing anyone to login and download their content.  On your own dedicated server, you will most likely have an FTP server, such as ProFTPD or Vsftpd running at all times for you and/or your clients.

The downside to FTP is that it sends files as they are, without any extra security or encryption.  If you are transferring sensitive data, there is a security risk with FTP that you may not want to take.

Some FTP clients can use SCP (secure copy) using SSH, which may or may not be supported by your server.  Others use SFTP, which is a secure FTP implementation that also uses SSH encryption.  The obvious benefit of this is that your data cannot be easily intercepted, which is particularly important for businesses, government agencies, and security-conscious individuals.

You should note that SFTP will require you to give users access to SSH, which if unchecked, will give your users the ability to view just about every directory in your server.  You can easily remedy this by using chroot to jail the users into their home directories (or even more restrictive jailing).  You can also completely cut off shell access with a little trick explained in this tutorial.











Comments: