Em man sshd_config
:
ForceCommand
Forces the execution of the command specified by ForceCommand,
ignoring any command supplied by the client and ~/.ssh/rc if
present. ... Specifying a command
of “internal-sftp” will force the use of an in-process sftp
server that requires no support files when used with
ChrootDirectory.
Então, edite seu /etc/ssh/sshd_config
e adicione algo assim:
Match User username
ForceCommand internal-sftp
Use Match
para que somente os usuários / grupos necessários sejam afetados.
A descrição completa de ForceCommand
diz:
... The command is invoked by using the user's login shell
with the -c option. This applies to shell, command, or subsystem
execution.
No entanto, como internal-sftp
está em processo, isso funcionará mesmo se /usr/bin/nologin
ou /bin/false
forem usados como o shell de login.