En esta entrada realizaremos una configuración de SFTP enjaulado en el cual se montara mediante BIND en otra ruta.
Configuración usuario y directorios
Creamos el grupo
groupadd sftp
Creamos el usuario y lo añadimos al grupo sftp
useradd -g sftp -s /bin/false -d /home/usersftp/ usersftp
Asignamos una contraseña al usuario
passwd usersftp
Creamos la estructura de carpetas y asignamos los permisos correspondientes
mkdir -p /home/usersftp/public/
chown root:root /home/usersftp/
chown usersftp:sftp /home/usersftp/public/
Creamos el directorio donde vamos a montar el file system mediante bind
mkdir -p /var/www/html/sftp
Agregamos el fichero fstab la siguiente linea y montamos el file system
echo ‘ /var/www/html/sftp /home/usersftp/public/ none bind 0 0’ >> /etc/fstab
mount /home/usersftp/public/
Configuración SSH
Accedemos al /etc/ssh/sshd_config y debemos modificar la siguiente linea:
Subsystem sftp /usr/lib/openssh/sftp-server
Por esta:
Subsystem sftp internal-sftp
También tenemos que añadir la siguiente configuración al final del fichero:
Match user usersftp
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
KbdInteractiveAuthentication yes
Reiniciamos el servicio ssh
service sshd restart
Un saludo.
:wq!