Hoy toca ver cómo configurar openSSH (como siempre, en entornos Red Hat) para aceptar únicamente peticiones SFTP enjaulando a los usuarios sftp en sus homes. Para añadirle contenido, además, configuraremos este servicio en un segundo proceso que correrá en la máquina de forma independiente al proceso openssh habitual, para evitar tener problemas con nuestras conexiones SSH, y por tanto, se configurará un puerto de escucha diferente al habitual, en el ejemplo, el 12022.
Fichero de configuración
En primer lugar copiaremos el fichero de configuración de openssh para adaptar la copia a nuestras necesidades:
[root@myserver]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config_12022
# Cambiamos el puerto
Port 12022
# Modificamos el Subsystem original
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
# Añadimos el enjaulado
Match Group sftp12022
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no