add sftp server setup
parent
a774a46e7f
commit
fd8d3f1fb7
@ -0,0 +1,74 @@
|
|||||||
|
# sftp configurstion
|
||||||
|
|
||||||
|
* [Reference](https://www.thegeekstuff.com/2012/03/chroot-sftp-setup/)
|
||||||
|
|
||||||
|
## Steps
|
||||||
|
|
||||||
|
1. Create a New Group
|
||||||
|
```sh
|
||||||
|
$ groupadd sftpusers
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Create Users
|
||||||
|
```sh
|
||||||
|
# create guestuser
|
||||||
|
$ useradd -g sftpusers -d /incoming -s /sbin/nologin guestuser
|
||||||
|
|
||||||
|
# change guestuser password
|
||||||
|
$ passwd guestuser
|
||||||
|
|
||||||
|
# verify creation
|
||||||
|
$ grep guestuser /etc/passwd
|
||||||
|
|
||||||
|
# modify an existing user. eg john
|
||||||
|
$ usermod -g sftpusers -d /incoming -s /sbin/nologin john
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Setup `sshd_config`
|
||||||
|
```sh
|
||||||
|
$ nano /etc/ssh/sshd_config
|
||||||
|
```
|
||||||
|
|
||||||
|
* Comment out `Subsystem sftp /usr/libexec/openssh/sftp-server`. Add the following
|
||||||
|
|
||||||
|
```txt
|
||||||
|
#Subsystem sftp /usr/libexec/openssh/sftp-server
|
||||||
|
Subsystem sftp internal-sftp
|
||||||
|
|
||||||
|
Match Group sftpusers
|
||||||
|
ChrootDirectory /sftp/%u
|
||||||
|
ForceCommand internal-sftp
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Create sftp home dirctory
|
||||||
|
```sh
|
||||||
|
$ mkdir /sftp
|
||||||
|
$ mkdir /sftp/guestuser
|
||||||
|
$ mkdir /sftp/guestuser/incoming
|
||||||
|
|
||||||
|
# set folder ownership
|
||||||
|
$ chown guestuser:sftpusers /sftp/guestuser/incoming
|
||||||
|
|
||||||
|
# verify ownership
|
||||||
|
$ ls -ld /sftp/guestuser/incoming
|
||||||
|
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/incoming
|
||||||
|
|
||||||
|
$ ls -ld /sftp/guestuser
|
||||||
|
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/guestuser
|
||||||
|
|
||||||
|
$ ls -ld /sftp
|
||||||
|
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Restart sshd
|
||||||
|
```sh
|
||||||
|
$ service sshd restart
|
||||||
|
```
|
||||||
|
|
||||||
|
6 Test setup
|
||||||
|
```sh
|
||||||
|
# user should only able to access the incoming folder as root level
|
||||||
|
$ sftp guestuser@192.168.0.222
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue