FTP server in the Cloud

From Alliance Doc
Revision as of 20:34, 20 December 2016 by Cgeroux (talk | contribs)
Jump to navigation Jump to search


This article is a draft

This is not a complete article: This is a draft, a work in progress that is intended to be published into an article, which may or may not be ready for inclusion in the main wiki. It should not necessarily be considered factual or authoritative.



Other languages:

Parent page: CC-Cloud

There are two main ways that an FTP server can be configured, anonymous access, or authenticated access. In both case there are better alternatives. If you require anonymous FTP you really should only allow read access to the files, otherwise anyone could upload malicious files to your server which is a very big security vulnerability. A better alternative to anonymous FTP with read access is HTTP which can allow the public to download files from your server (see for example Creating a Webserver on CC-Cloud). If on the other hand you wish to have authenticated FTP, a much better option is to use SFTP (see Transferring files#From your personal computer), which uses the SSH protocol and can easily work with ssh key authentication and is already configured to work on Linux VMs. There is also an encrypted version of FTP, FTPS (different from SFTP) which uses SSL certificates for encryption rather than ssh keys. Another issue with using authenticated FTP on Compute Canada cloud is that in most cases the FTP daemon maps authentication credentials to system accounts. This requires the associated system account to have a password which is against the cloud Acceptable Usage Policy which states that users may only access VMs with key-pair authentication. If there is still a good reason to use FTP over one of the alternatives given above see the linked to guides below on how to setup FTP on a VM. One issue to keep in mind is the ports that FTP uses, FTP uses port 21 to initiate file transfer requests, but the actual transfer can take place on a randomly chosen port above port 1025, though the details of this can vary depending on the mode with which FTP operates in. This means that to allow FTP access on your VM you must open port 21 and very likely also ports 1025 and above (see OpenStack#Security Groups for information about opening these ports into your VM). This large range of open ports is part of the reason other protocols are preferred to FTP.

This guide describes how to setup an FTP server in Ubuntu.


How would you like to use your FTP server?

  • Anonymous FTP
    • Read Only: Use HTTP instead
    • Read/write: DO NOT DO THIS, people will hack your server
  • Authenticated FTP: Better to use SFTP instead. If you do use FTP should use FTPS (to ensure data is encrypted such as passwords etc.)