
For the last 30 years, if we wanted to transfer a file from a server to our computer, we simply clicked on a link on a page and the file in question was transferred.
However, the need to transfer files between two computers existed long before the HTTP protocol and web pages.
In order to solve this need, the protocol was born FTP (in English File transfer protocol) in the early 1970s for quick and easy file transfer between two computers.
With our look today File transfer protocol It may seem like a somewhat archaic and complicated protocol to us, but there was nothing like it back then.
The first version of the protocol later known as FTP was implemented in WITH 1971 and whose original specifications are documented in RFC-114 that is, in the documentation that standardizes Internet protocols, which are initial letters Rclaim for CRemarks
This first version was very different from the one we use today, as the protocol was modified in 1985 to add new features to the original English document. RFC 959 or a translated version RFC 959.
What is a server ftp?
An FTP server is a service that runs on a server and supports FTP commands that facilitate the transfer of files in one way or another, d Use client software to connect with a username and password. Once connected, you can browse directories and view the files they contain.
But it can also be an anonymous server that allows password-free access to download files, even if the download is blocked for security reasons.
When connected to the server, the user can upload files, download files, modify or delete any file, or create or delete directories.
It was originally developed to transfer text files or character-based flat files. ASCII English abbreviation for American Standard Information Code Interchange or in Spanish American Standard Code for Information Interchange.
However, it has evolved over time to allow the transfer of binary files such as programs, images, videos or other types of files.
Currently, most services use a web server to upload or download a file. However, there are areas where FTP service is still widely used, eg in the hosting world.
All hosting providers offer FTP access to the sitemap in order to manipulate the website’s directories and files.
It is also not uncommon to find companies sharing files with their clients via FTP
Another very widespread use in the IT world is to transfer backups to a remote server as a security measure to ensure that data is kept in another geographical or network location.
Although there are other simpler, more efficient and more secure ways of transferring data, especially via the Internet, FTP is a widely used option thanks to its speed of configuration and compatibility between systems.
Characteristics of the FTP protocol
The FTP protocol is based on sending commands to the server and receiving responses. The command syntax is very similar to the commands used in the console of any operating system.
There are commands to create folders, switch directories, list contents, change permissions, and more.
Over the years, FTP clients have evolved, adding a graphical layer that somewhat hides the complexity by changing manually typing a long series of multiple commands into something as simple as dragging and dropping an icon onto the screen to perform the same task.
From a security point of view, FTP is considered insecure because the transfer takes place in the form of plain text. If the communication is intercepted, the files will be compromised. Therefore, to ensure security, an additional layer of security must be added. coding.
One of the most secure ways to transfer files is to use SFTP What do the acronyms mean? SSH file transfer protocolAlthough it works the same on the client side, it is actually a different implementation than FTP, rewritten from the ground up not only to add encryption, but also to fix the shortcomings of the original FTP.
To use SFTP, the server must have an SSH server enabled instead of FTP, and credentials must also be issued for SSH. The advantage is that a key file can be used which makes it more secure.
Another widely used method is FTPS, an extension of native FTP that adds support for SSL/TLS certificates, similar to those used on websites, at a security level below the strength of SSH encryption, but also very secure.
The advantage of FTPS is that it can be used with a standard FTP server that supports encryption. Another method, which is also very secure, just like SFTP, is to use FTP under a VPN (Virtual Private Network) tunnel, which adds a layer of encryption by building an encrypted tunnel through the network layer between the client and the VPN server. .
Types of FTP servers
There are basically three types of FTP servers.
authenticated ftp
It is one that is accessed with credentials, either a username and password or a key file, authenticated servers, it is the most common implementation that provides security for published data.
anonymous ftp
A very common type of server a few decades ago was an anonymous FTP server, which means that a username and password are not required for access, or the default username is **anonymous**, which is mainly used for sharing files between users.
At that time there were no links, no HTML, no web servers or cloud services for file sharing, distribution methods were mailing or discussion lists and IRC (Internet Relay Chat) rooms, which used anonymous FTP to distribute documents . books, games, software and files generally published in those other media.
Today, an anonymous service where anyone can upload or modify a file with malicious intent might seem almost crazy and dangerous to us, but it’s not much different from what Wikipedia is today.
Built-in FTP servers
The third type of server is embedded servers, derived from an anonymous server and implemented through a browser to download files to our computer. Today they are almost not used anymore, but some Linux distributions still use them to publish their CD/DVDs on their websites
Installing an FTP server on Linux
There are many console and graphical FTP clients, the latter being arguably the most popular due to its ease of use.
There are several alternatives such as WinSCP, SmartFTP, FireFTP and others, but undoubtedly the most popular of them all is Filezilla, a free client available for Windows, macOS and Linux.
Installing programs on Linux is extremely simple if it is done from the official repositories of each distribution
Install Filezilla on Debian/Ubuntu
In the case of the Debian and Ubuntu families, it can be installed with apt or aptitude using the following command run from the terminal.
sudo apt-get install filezilla
Install Filezilla on CentOS/RHEL
In the case of CentOS/RHEL, the package manager switches to YUM, also from the console execute:
sudo yum install filezilla
Install Filezilla on Fedora
Until a few years ago, Fedora used YUM as its package manager, but in recent years it switched to DNF.
sudo dnf install filezilla
Although if we write yum instead of dnf it will still work because the commands are compatible and the system will execute them the same way.
Install Filezilla on Arch
Arch’s package manager is called pacman and we start it like this:
pacman -S filezilla
Install Filezilla on Suse/OpenSuse
In the case of Suse and OpenSuse we can choose to install it from Yast, an administrator with graphical interfaces like Zypper from the console:
zypper install filezilla
Install server FTP Filezilla the rest Linux
Obviously, there are more distributions besides the ones mentioned above, and while it is very difficult for a program like Filezilla not to be in the official repositories of each distribution, there is another alternative, and that is SnapCraft universal repository that allows you to install your packages on any distribution:
snap install filezilla
Installing an FTP server on Windows
To install on Windows (Desktop or Windows Server) you need to download the installer from the project page filezilla Press Download and a window will open where you can choose the free or paid version:
If you want the free version, click on the download in the first column and the download will be in bold. After downloading, the installer will start, and the installation is a typical installation of any Windows program.
How to connect to an FTP server
Regardless of whether it is a Windows, Linux or MacOS system, the configuration of the pages is identical, and three basic data are required to connect to the FTP server:
- IP of the server or domain
- port
- user and password
Usually the port is 21, although this can change, especially when using SFTP where it can be 22 or some other, both the port and IP/domain and username/password must be provided by the FTP server administrator
Then we need to go configure it in Filezilla location management and click the button new page.
Finally, we need to fill in the following information:
- Server: Server IP
- Port: 21
- Protocol: FTP
- Encryption: simple / no encryption
- Access method: Ask for password
- User: FTP user

Press the Connect button.
This is a typical configuration screen, when all the information is complete, just press Connect, if there are errors Either some data is wrong or the server does not support TLS encryption or Filezilla cannot process the certificate sent by the server. In this case, the best solution is to change the encryption option and select no encryption or insecure depending on the translation
Conclusion
As we can see, configuring an FTP client is extremely easy, and even though it is one of the oldest protocols in existence, it is still extremely important and useful for many tasks.
Although it has lost ground to Git in recent years for deploying cloud applications, it is still very relevant, especially in the world of shared hosting and in the world of system administration, where it is widely used to make backups easy to transfer.