Any Linux server distribution is a really highly effective server that performs above and past what what you are promoting would possibly want. No matter process you throw on the server, it will likely be prepared. And, if it isn’t prepared out of the field, you can also make it so.
In the event you aren’t certain about SFTP, it’s the FTP service constructed into Safe Shell (SSH), which permits customers to securely push and pull recordsdata to and from the server, utilizing SSH.
I’m going to stroll you thru the method of establishing an SFTP server. I’ll show by making a single person that’s restricted to solely SFTP logins. As soon as you know the way to do that, you may create as many customers as you want. This course of will work on any Linux distribution.
Let’s make it work.
SEE: Troubleshooting Linux: An Admin’s Information (TechRepublic Premium)
What you’ll want
You’ll want entry to an account with admin rights. When you’ve procured that entry, it’s time to make this work.
SFTP Listing
The very first thing we should do is create a listing that may home our FTP knowledge. Open up a terminal window, su to the basis person (sort su after which, when prompted, sort the basis person password), after which difficulty the next two instructions:
mkdir -p /knowledge
chmod 701 /knowledge
SEE: Find out how to Add an SSH Fingerprint to Your known_hosts File in Linux (TechRepublic)
Create the SFTP group and person
Now we’re going to create a particular group for SFTP customers. That is executed with the next command:
groupadd sftp_users
Now we’re going to create a particular person that doesn’t have common login privileges, however does belong to our newly created sftp_users group. What you name that person is as much as you. The command for that is:
useradd -g sftp_users -d /add -s /sbin/nologin USERNAME
The place USERNAME is the title of the person.
Subsequent, give the brand new person a password. This password would be the password the brand new customers use to log in with the sftp command. To arrange the password, difficulty the command:
passwd USERNAME
The place USERNAME is the title of the person created above.
SEE: Find out how to Begin, Cease, and Restart Providers in Linux (TechRepublic)
Create the brand new person SFTP listing
Now we’re going to create an add listing, particular to the brand new person, after which give the listing the right permissions. That is dealt with with the next instructions:
mkdir -p /knowledge/USERNAME/add
chown -R root:sftp_users /knowledge/USERNAME
chown -R USERNAME:sftp_users /knowledge/USERNAME/add
The place USERNAME is the title of the brand new person you created above.
Configure sshd
Open up the SSH daemon configuration file with the command:
nano /and so on/ssh/sshd_config
On the backside of that file, add the next:
Match Group sftp_users
ChrootDirectory /knowledge/%u
ForceCommand internal-sftp
Save and shut that file. Restart SSH with the command:
systemctl restart sshd
SEE: 5 Greatest Linux CentOS Substitute Choices & Options (TechRepublic)
Logging in
You’re all set to log in. From one other machine in your community that has SSH put in, open up a terminal window and difficulty the command:
sftp USERNAME@SERVER_IP
The place USERNAME is the title of our new person and SERVER_IP is the IP deal with of our SFTP server. You’ll be prompted for USERNAME’s password. When you efficiently authenticate, you can be greeted with the sftp immediate. Sort pwd to examine the working path and it’s best to see /add as depicted within the picture beneath.
A easy resolution
That’s all there may be to establishing an SFTP server on Linux. For any firm trying to provide employees and shoppers a easy, safe technique of importing and downloading recordsdata, this can be a not solely an awesome resolution but in addition very finances pleasant one. Get your SFTP server up and working with zero price and 0 headache.
This text was initially revealed in September 2019. It was up to date by Antony Peyton in January 2025.