Any Linux server distribution is a really highly effective server that performs effectively past what your corporation would possibly want. Whatever job you launch on the server, it is going to be prepared. And, if it isn’t prepared out of the field, you may make it so.
If you are not sure about SFTP, it is the FTP service constructed into Secure Shell (SSH), which permits customers to securely ship and extract information to and from the server, utilizing SSH.
I’ll stroll you thru the method of organising an SFTP server. I’ll exhibit this by making a single consumer restricted to SFTP logins solely. Once you know the way to do that, you’ll be able to 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 administrator’s information (TechRepublic Premium)
What you will have
You might want to log in to an account with administrator rights. Once you may have entry, it is time to make it work.
SFTP directories
The very first thing we have to do is create a listing that may home our FTP knowledge. Open a terminal window, su for root consumer (sort I’m after which, when prompted, sort the foundation consumer password), then run the next two instructions:
mkdir -p /knowledge
chmod 701 /knowledge
SEE: How so as to add an SSH fingerprint to your aware_hosts file in Linux (TechRepublic)
Create the SFTP group and consumer
Now we’ll create a particular group for SFTP customers. This is completed with the next command:
groupadd sftp_users
Now we’ll create a particular consumer who doesn’t have regular entry privileges, however belongs to our newly created sftp_users group. How you name that consumer is as much as you. The command for that is:
useradd -g sftp_users -d /add -s /sbin/nologin USERNAME
Where USERNAME is the consumer’s identify.
Next, present a password to the brand new consumer. This password would be the password that new customers will use to log in with the sftp command. To set the password, concern the command:
passwd USERNAME
Where USERNAME is the identify of the consumer created above.
SEE: How to begin, cease, and restart providers in Linux (TechRepublic)
Create the brand new consumer’s SFTP listing
Now we’ll create an add listing, particular to the brand new consumer, after which give the listing the suitable permissions. This 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
Where USERNAME is the identify of the brand new consumer you created above.
Configure sshd
Open the SSH daemon configuration file with the command:
nano /and many others/ssh/sshd_config
At the underside of the file, add the next:
Match Group sftp_users
ChrootDirectory /knowledge/%u
ForceCommand internal-sftp
Save and shut the file. Restart SSH with command:
systemctl restart sshd
SEE: 5 finest Linux CentOS alternative choices and alternate options (TechRepublic)
Access
Everything is able to log in. From one other laptop on the community the place SSH is put in, open a terminal window and run the command:
sftp USERNAME@SERVER_IP
Where USERNAME is the identify of our new consumer and SERVER_IP is the IP handle of our SFTP server. You will probably be requested in your USERNAME password. Once you may have efficiently authenticated, you may be greeted with the sftp immediate. Type pwd to examine the working path and you need to see /add as proven within the picture under.
A easy answer
That’s all you’ll want to arrange an SFTP server on Linux. For any enterprise seeking to provide employees and clients a easy and safe technique of importing and downloading information, this isn’t solely an incredible answer but additionally a really economical answer. Get your SFTP server up and operating for gratis and hassle-free.
This article was initially revealed in September 2019. It was up to date by Antony Peyton in January 2025.