Eu tenho uma configuração parecida e funciona, então sua configuração parece válida para mim. Sugiro adicionar essa linha acima da regra de correspondência, o que permitirá um pouco mais de mensagens detalhadas em seus registros, o que pode ajudar você a restringir o foco no problema subjacente.
Subsystem sftp internal-sftp -f AUTH -l INFO
Certifique-se de reiniciar sshd
após a alteração. Acredito que o seu problema tenha a ver com as permissões do diretório ou da pasta do usuário. Ao usar ChrootDirectory
, existem algumas condições muito específicas que você deve ter certeza de aderir, caso contrário, o SSHD não cooperará.
ChrootDirectory
Specifies the pathname of a directory to chroot(2) to after
authentication. All components of the pathname must be root-owned
directories that are not writable by any other user or group.
After the chroot, sshd(8) changes the working directory to the
user's home directory.
The pathname may contain the following tokens that are expanded at
runtime once the connecting user has been authenticated: %% is
replaced by a literal '%', %h is replaced by the home directory of
the user being authenticated, and %u is replaced by the username of
that user.
The ChrootDirectory must contain the necessary files and directories
to support the user's session. For an interactive session this
requires at least a shell, typically sh(1), and basic /dev nodes
such as null(4), zero(4), stdin(4), stdout(4), stderr(4), arandom(4)
and tty(4) devices. For file transfer sessions using “sftp”, no
additional configuration of the environment is necessary if the in-
process sftp server is used, though sessions which use logging do
require /dev/log inside the chroot directory (see sftp-server(8) for
details).
The default is not to chroot(2).