Instalación
apt update
apt install openssh-server
vim /etc/ssh/sshd_config
# Busca:
Subsystem sftp /usr/lib/openssh/sftp-server
# Reemplaza por:
Subsystem sftp internal-sftp
# Agrega el siguiente bloque al final:
Match Group sftpusers
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
# Guarda y sal.
systemctl restart sshd
Usuarios
adduser avz
groupadd sftpusers
usermod -aG sftpusers avz
Carpetas
# Cuando se utiliza `ChrootDirectory` en /etc/ssh/sshd_config, el directorio asignado debe cumplir ciertos requisitos:
# - El directorio debe ser propiedad de root.
# - Los permisos deben estar configurados para evitar el acceso de escritura para el grupo y otros.
chown root:root /home/avz
chmod 755 /home/avz
# Aquí pongo la nube (la carpeta upload)
mkdir /home/avz/drive
chown avz:avz /home/avz/drive
# Aquí le dejo un leeme.txt
echo "Bienvenido al servidor SFTP de elpolla.net" > /home/LEEME.txt
cp /home/LEEME.txt /home/avz/LEEME.txt
# Aquí pongo la página web del colega
mkdir /home/avz/web
chown avz:avz /home/avz/web
La página web es un paso opcional para empezar esta guía: [[nginx con páginas para cada usuario]].
