Are you looking for a way to create FTP with SSH on dedicated server? Well, you will find your answer here! We are here to get you out of this confusion and show you the correct way of creating an FTP account using SSH on a dedicated Linux server that will also create a client directory on the server and depending on your solution assign it to the shell access level, and you should do this carefully. Follow our article step by step.
What is an FTP Account?
FTP is the abbreviation of file transfer protocol, which is actually a user account and is used to access FTP services. That is, it helps the user to communicate between the user’s local station and a server through an FTP client and transfer files. In general, it is the responsibility of hosting providers to allow users to access their server and manage their web files in the form of an FTP account.
The components of this user account are an FTP host, a username, and a suitable password, which is usually linked to a website, network, or FTP server.
What is the Benefit of Using an FTP Account for Dedicated Server?
If you transfer files through an FTP connection, it will be easier and safer to manage a large number of files. Of course, this work can also be done by the file management of the web hosting control panel. One of the benefits of FTP is the ability to transfer several web files optimally.
Also, FTP allows you to have more than one different user account, which allows you to share the workload with team members and allow them access without giving the main password of your FTP account. Another advantage of FTP is that if you have many websites, it helps you manage them. You can provide one web developer access to only one site and improve overall security because the FTP account only allows access to one domain name.
Steps to Create FTP with SSH on Dedicated Server
In this section, we will teach you to create an FTP account using SSH for a dedicated server. Remember that security is paramount when setting up services like FTP and SSH. Always keep your software up-to-date, configure proper firewall rules, and follow best practices for server security.
Tip: Log in to your dedicated server using SSH. You’ll need administrative/root access to perform these actions.
Updating System Packages
The first step is to update your system by entering the command below in a terminal window:
sudo apt-get update
Installing FTP Server
1- To be able to access FTP, you need to install the vsftpd package, but if you already have it installed, you don’t need to do this step:
sudo apt-get install vsftpd
2- Now, you should change the configuration setting for vsftpd. Do this by referring to the /etc/vsftpd.conf file in the text editor you desire:
3- Do the configuration part as below and modify the setting:
Let’s define these parameters:
Listen=Yes: This will order vsftpd to execute as a standalone daemon.
Local-enable=Yes: Any user account defined in the /etc/passwd file is allowed to access the FTP server.
Write-enable=Yes: It allows files to be uploaded to the FTP server.
Chroot-local-user=Yes: Limits users to the home directory and comments out as a default.
Now save the vsftpd.conf file and then restart vsftpd service using the command bellow:
sudo service vsftpd restart
Adding FTP User Account
Now you are ready to add an FTP account by applying the following command:
sudo adduser testes
Use the command below to give permissions to the user:
sudo chown root:root /home/testuser
To assign the directory to the user go through the following command:
usermod --home /var/www/html/test-dir/testuser
To restart your service, execute the command below:
sudo service vsftpd restart
Well done! you have successfully created the FTP user account. Now you can connect the FileZilla in order to connect the user:
Check the user to find out if it has been connected correctly to the folder you have assigned:
To update the user folder again use this command:
usermod -d /var/www/html/test-dir testuser
sudo service vsftpd restart
Updating FTP User Password
Use the following command to update the user password:
To give permissions to the folders for the new user use this command:
chmod -R 755 /var/www/html/test-dir
Deleting FTP user
Use the command below to delete an FTP user:
To delete the user with the directory:
userdel -r testuser
Troubleshooting Some Common Issues of Creating an FTP Account
If you’re experiencing issues with an FTP account, here are some common problems and their solutions:
1- Unable to log in to the FTP server due to incorrect username or password.
Double-check your login credentials. Ensure that you are using the correct username and password and that they are case-sensitive.
2- FTP connection issues due to choosing the wrong mode.
Try switching between passive and active mode in your FTP client settings. Some servers or firewalls may require one mode over the other.
3- Unable to upload or download files due to insufficient permissions.
Make sure you have the necessary permissions on the FTP server to perform the desired actions. Contact your server administrator if needed.
4- Unable to navigate directories or access specific folders.
Ensure that you have the correct path to the directory you want to access. Check for any typos or syntax errors in the file path.
You can create an FTP account in different distributions, which is one of the ways to develop it through SSH. This article also examined the creation of an FTP user account by SSH on a dedicated server, so that you can take advantage of it and use it to transfer your files safely. Also, in the above sections, things like deleting this user account were provided, so that you can delete this account if needed. Thank you for accompanying us. Happy coding.