FTP is a way to transfer files between hosts over the internet. It is especially helpful as a way to upload or download files to or from a site quickly. FTP clients allow connections from both anonymous and registered users. When the goal is to limit who can perform the file transfer, the log in is often set up to require a username and password, while content that is meant to be distributed widely is often set up with an anonymous FTP login.
FTP is very easy to install on a virtual private server. Most FTP servers have very practical and usable defaults. Since FTP was not conceived as a very secure protocol, for example the login credentials are not encrypted, you can increase the security after installation by disabling anonymous login and chrooting your registered users into their own directories.
There is an large variety of FTP programs that can be installed on a VPS. Two that we find useful are ProFTPD or VSFTPD, and you can see how to download and configure them here, selecting whichever one you prefer.
Once you have an FTP client installed and configured on your virtual server, you can connect to it through the browser or the command line. Access on the command line is fairly simple, with the user required to type in:
ftp example.com
The prompt asks for a login and password, if you are doing an anonymous login, type in anonymous, and fill out the password with your email address. Once you connect, you can use the following commands to begin transferring files between machines:
put: copies the file from the local to the remote server
mput: copies multiple files from the local to the remote server
get: retrieves the file from the remote server and downloads it on the local machine
mget: retrieves multiple files from the remote server and downloads them to the local machine
ls: list the files in the current directory
cd: change the directory on the remote server
help: provides a list of available commands
pwd: provides you with the pathname of remote computer’s directory
delete: deletes a file on the remote server
mdelete: deletes multiple files on the remote server
exit: closes the FTP connection
Alternatively, to access a remote ftp server in your browser, type its address into the address bar. It should look like this:
ftp://example.com
If you prefer to avoid the command line for most of your FTP work, you can download Filezilla, an open-source FTP client and server.
This was just a brief overview of FTP. If you have any further questions about FTP programs or commands, feel free to post your questions in our Q&A Forum, and we’ll be happy to answer them.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
If you’re getting the follow error for passwords
Response: 331 Please specify the password. Command: PASS * Response: 530 Login incorrect. Error: Critical error: Could not connect to server
Please see the following below
http://askubuntu.com/questions/413677/vsftpd-530-login-incorrect
This comment has been deleted
I already create new user to reguler access. When I tried to upload using filezilla, to my /var/www , i got
I already change my owner of file to user that I created before, with this command :
But, I still get the erorr
@saurabh.vashist: You can install ProFTPd: How To Set Up ProFTPD on Ubuntu 12.04. The package in 14.04 is called
proftpd-basic
instead of justproftpd
.To make it accessible internally only, edit the configuration file:
Add
DefaultAddress 127.0.0.1
afterPort 21
and restart ProFTPd:Make sure the configuration change took effect (the output should be 127.0.0.1:21):
I have a droplet running Ubuntu 14.04. One of my site uses “FTP” for Registered Users for file uploads and downloads through scripts on the site (means requests are generated internally through server only and not for outside direct FTP). Can I use ProFTPD or VSFTPD on my droplet? Is there any link to ready to use instructions?
To add to my previous post:
A viable and (more) secure alternative to FTP is SFTP: <a href=“https://www.digitalocean.com/community/articles/how-to-use-filezilla-to-transfer-and-manage-files-securely-on-your-vps”>How To Use Filezilla to Transfer and Manage Files Securely on your VPS</a>.
Never mind. We just had the wrong password. Works perfectly with transmit and I assume all other FTP clients.
We would like to use SFTP on Transmit 4. Is this possible? We can’t seem to get it working as we normally would.
The title & contents of this article should be changed to <b>What is FTP and [WHY] It [Should NEVER be] Used?</b>
Yep, you could use sftp via winscp too.