Solución 1:
A partir de la versión 4.9, OpenSSH (no disponible en centos 5.x, pero la función ChrootDirectory se adaptó) tiene un internal-sftp
subsistema:
Subsystem sftp internal-sftp
Y luego bloquear otros usos:
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Agregue sus usuarios al sftponly
grupo. Tienes que cambiar el directorio de inicio del usuario a /
debido al chroot y /home/user
debe ser propiedad de root
. También configuraría /bin/false
como shell del usuario.
Solución 2:
Hay un caparazón scponly Que hace. Puede hacer chroot también.
Solución 3:
Verifique rssh, que es un shell falso que permite sftp pero niega ssh
Más sobre RSSH
http://www.pizzashack.org/rssh/
RPM
http://pkgs.repoforge.org/rssh/
Puede configurar rssh para permitir/denegar diferentes comportamientos como sft, scp, etc.
Solución 4:
Puede modificar /etc/passwd y darle a ese usuario un shell falso para que no pueda usar ssh.