Řešení 1:
Počínaje verzí 4.9 OpenSSH (není k dispozici v centos 5.x, ale funkce ChrootDirectory byla zpětně portována) má internal-sftp
subsystém:
Subsystem sftp internal-sftp
A pak zablokujte další použití:
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Přidejte své uživatele do sftponly
skupina. Musíte změnit domovský adresář uživatele na /
kvůli chrootu a /home/user
by měl být ve vlastnictví root
. Také bych nastavil /bin/false
jako uživatelský shell.
Řešení 2:
Existuje shell scponly co to dělá. Může chrootovat taky.
Řešení 3:
Checkout rssh, což je falešný shell, který umožňuje sftp, ale popírá ssh
Více o RSSH
http://www.pizzashack.org/rssh/
RPM
http://pkgs.repoforge.org/rssh/
Můžete nakonfigurovat rssh tak, aby povolil / zakázal různé chování, jako je sft, scp atd.
Řešení 4:
Můžete upravit /etc/passwd a dát tomuto uživateli falešný shell, aby nemohl používat ssh.