How to Setup SFTP User Account on Fedora

Introduction
In this article you will know about how to Setup SFTP User Account on Fedora.
A secure shell (SSH) session is required for the use of the Secure File Transfer Protocol (SFTP), which is a secure method for exchanging data between a local and distant computer. It is an upgraded version of the standard file transfer protocol (FTP), which adds an additional layer of protection during the process of transferring files and establishing a connection.
In this tutorial, you will learn how to set up SFTP User account on Fedora and enable the user to only access files that are located within the user’s home directory.
Make a new group for SFTP users and join it. You should provide the name of the group you want instead of sftpcorner.
# groupadd sftpcornerMake a brand-new account for the user. Simply replace “exampleuser” with the user name you want to use.
# adduser exampleuserPlease create a password for exampleuser.
# passwd exampleAfter that, the user should be added to the SFTP group.
# usermod -G sftpcorner exampleuserPut access restrictions on the user so they can’t access files outside of their home directory.
# chown root:root /home/exampleuserNow, within the user’s home directory, create new subdirectories. These are used in the process of file transfer.
# mkdir /home/exampleuser/uploadsGive the user ownership of the subdirectories and files in the directory.
# chown -R exampleuser:exampleuser /home/exampleuser/uploadsThe next step is to give the user permission to read and write all of the files contained within their home directory.
# chmod -R 755 /home/exampleuser/Configure SFTP
After creating the user accounts and the sftp group, you will need to enable SFTP in the primary SSH configuration file.
# vi /etc/ssh/sshd_config# line 123: comment out and add a line
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Add the following lines to the end of the file. Replace sftpcorner with your actual sftp group.
Match Group sftpcornerChrootDirectory %hPasswordAuthentication yesAllowTcpForwarding noX11Forwarding noForceCommand internal-sftpSave and close the file by escape :wq
Restart the SSH server for changes to take effect.
# systemctl restart sshdLogin to SFTP
# sftp exampleuser@Server_IPList files within the directory. Your output should be similar to the one below:
exampleuser@Server_IP’s password:
Connected to server_IP
FileZilla and Cyberduck are the most popular SFTP clients available for Windows, Mac, and Linux desktop to test connectivity using a desktop client.
Conclusion
In this guide, you successfully setup SFTP user Account on Fedora server, then tested connectivity through a terminal session and FileZilla. You can create multiple users with different directories to securely upload and download files on your server.
Know, How to Install MongoDB on Fedora 36/35/34
Thank You 🙂