sudo apt-get install openssh-server
groupadd sftp
Open /etc/ssh/sshd_config
:
nano /etc/ssh/sshd_config
Change Subsystem
to internal-sftp
:
Subsystem sftp internal-sftp
Append to the end of file:
Match Group sftp
ChrootDirectory /home/%u
ForceCommand internal-sftp
Reboot SSH server:
service sshd restart
Create a new user:
-
With SSH access:
useradd -g sftp -G www-data -d /home/<username> -m <username>
-
Without SSH access:
useradd -g sftp -G www-data -d /home/<username> -s /sbin/nologin -m <username>
Create user password:
passwd <username>
Create virtual host directory:
mkdir /home/<username>/<domainname>
Change virtual host directory permissions:
chown <username> /home/<username>/<domainname>
chmod 0775 /home/<username>/<domainname>
Want to create a symbolic link in /var/www
for a given domain?
echo "/var/www/<domainname> /home/<username>/<domainname> none bind 0 0" >> /etc/fstab && mount -a