Chroot SFTP en Linux (Solo SFTP, sin SSH) Centos 6.X

publicado por Carlos Torres el 06/05/2015 12:33

En versiones posteriores de ssh 4.9 es posible hacer chroot (jail) a una cuenta de sftp (scp) mediante el propio servisor ssh (sshd). Por ejemplo, Centos 6.X o 7.X.

En este caso hay que usar el internal-sftp del ssh daemon en lugar del sftp-server.

Pasos a seguir:

Crear un nuevo grupo

# groupadd sftpusers

Crear usuarios o modificar los ya existentes

# useradd -g sftpusers -d /sftp/guestuser/incoming -s /sbin/nologin guestuser
# passwd guestuser

Modificar:

# usermod -g sftpusers -d /sftp/otroguestuser/incoming -s /sbin/nologin otroguestuser

Configurar el subsistema sftp-server en sshd_config

Editar etc/ssh/sshd_config y comentar el ftp-server y habilitar el internal-sftp

#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp

Especificar el directotio de Chroot para el grupo de usuarios creado

Añadir al final de /etc/ssh/sshd_config

Match Group sftpusers
        ChrootDirectory /sftp/%u
        ForceCommand internal-sftp

Crear los direcorios Home del sftp

# mkdir /sftp
# mkdir /sftp/guestuser
# mkdir /sftp/guestuser/incoming

Configurar los permisos adecuados a los directorios

# chown guestuser:sftpusers /sftp/guestuser/incoming

El resto de directorios, tendrán permisos de root.

drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/guestuser
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp

Restart sshd

# service sshd restart

Mas info: 

http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/


Añadir un comentario:

Nombre:

E-Mail:

Comentario: :

Enviar >>