This tutorial intends to teach you to Set up SFTP Server on Rocky Linux 8. As you know, you can use the SFT server to securely transfer your data information. This guide will show you to Configure SFTP User Account, a Transfer File for SFTP, and Login to SFTP Server on Rocky Linux 8.
How To Set up SFTP Server on Rocky Linux 8?
To complete this guide, you must log in to your server as a non-root user with sudo privileges. To do this, you can follow our guide on Initial Server Setup with Rocky Linux 8.
Now follow the steps below to complete your SFTP server setup.
Step 1 – Install SSH on Rocky Linux 8
You should have SSH installed on your server to set up the SFTP server. First, run the system update with the following command:
sudo dnf update -y
Then, use the following command to install SSH:
sudo dnf install openssh-server -y
Manage SSH Service
When your installation is completed, use the commands below to start and enable the SSH service to start on boot:
# sudo systemctl start sshd # sudo systemctl enable sshd
Verify your SSH service is active and running on Rocky Linux 8:
sudo systemctl status sshd
Output ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset> Active: active (running) since Mon 2023-05-29 05:53:28 EDT; 3min 51s ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 36705 (sshd) Tasks: 4 (limit: 23699) Memory: 4.5M CGroup: /system.slice/sshd.service ├─36705 /usr/sbin/sshd -D [email protected],chacha20- ....
Step 2 – Configure SFTP User Account on Rocky Linux 8
At this point, you need to create a group for the SFTP to grant some mutual permissions to a group of users.
First, create a group named “sftp” by using the command below: You can choose your desired name.
sudo groupadd sftp
Then, create a user who will have the same privileges as the group. To do this, run the command below: You can choose your desired name.
sudo useradd orca
Verify that your user has been created by using the command below:
less /etc/passwd | grep orca
Then, create a password for your user by using the following command:
sudo passwd orca
Output Changing password for user orca. New password: Retype new password: passwd: all authentication tokens updated successfully.
Now you need to add your user to the SFTP group on Rocky Linux 8:
sudo usermod -a -G sftp orca
At this point, verify the SFTP’s group details by using the command below:
grep sftp /etc/group
As you can see from the output, user orca is added successfully to the SFTP group.
Step 3 – Configure a Transfer File for SFTP on Rocky Linux 8
At this point, you need to have a directory that the users can access instead of accessing the entire machine.
To create the directory under /var/sftp/ run the command below:
sudo mkdir -p /var/sftp/Document
Set the ownership of the above directory to the root user by using the following command:
sudo chown root:root /var/sftp
Also, set the correct permissions for it:
sudo chmod 755 /var/sftp
At this point, you need to allow access to the “Documents” directory to the SFTP user (orca):
sudo chown orca:orca /var/sftp/Document
Now you need to edit the SSH configuration file. Open the file with your favorite text editor, here we use the vi editor:
sudo vi /etc/ssh/sshd_config
Find the Subsystem sftp /usr/lib/openssh/sftp-server line and the following content under it:
Subsystem sftp /usr/libexec/openssh/sftp-server # Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server Match User orca ChrootDirectory /var/sftp X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
When you are done, save and close the file.
Restart SSH, to apply the changes:
sudo systemctl restart sshd
Step 4 – Login to SFTP Server on Rocky Linux 8
First, connect to the user SFTP User using the SSH service only for the testing purpose:
Output Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'localhost' (ED25519) to the list of known hosts. orca@localhost's password: This service allows sftp connections only. Connection to localhost closed.
To test from the same system as the one you just configured SFTP on, connecting to the loopback address
127.0.0.1 will work just fine.
Output Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '127.0.0.1' (ED25519) to the list of known hosts. [email protected]'s password: Connected to 127.0.0.1. sftp>
At this point, list down the directories of SFTP by using the command below:
sftp> ls Document
To exit from SFTP Server, just run the exit command.
Step 5 – Uninstall SFTP From Rocky Linux 8
At this point, if you want to remove the SFTP from your server, you can easily delete the SSH with all its files:
sudo dnf remove openssh-server -y
This command will remove SFTP and all of its data.
At this point, you have learned to Configure SFTP User Account, a Transfer File for SFTP, and Login to SFTP Server on Rocky Linux 8. Also, you can easily remove SFTP and all its data by using a single command.
Hope you enjoy it. You may be like these articles too: