Eigentlich glaube ich nicht, was Sie fragen, ist möglich.
Aus dem sshd_config-Handbuch:
ChrootDirectory Specifies the pathname of a directory to chroot(2) to after authentication. At session startup sshd(8) checks that all components of the pathname are root-owned directories which are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.
Damit die chroot funktionieren kann, muss das Verzeichnis root sein. Deshalb funktioniert es nicht, wenn Sie den Besitzer von / home / sftp_user ändern.
Wenn der Eigentümer jedoch korrekt ist, funktioniert chroot, aber Sie versuchen, auf einen Pfad (Ihr Heimatverzeichnis) zuzugreifen, der sich außerhalb der chroot befindet. Wenn Sie möchten, dass dies funktioniert, müssen Sie den Home-Ordner in der Chroot erstellen. Wenn Sie also zu / home / sftp_user chrootiert werden, müssen Sie / home / sftp_user / home / sftp_user erstellen.
Beim Verbinden gibt es keine Möglichkeit, dass sshd feststellen kann, ob Sie "ssh" oder "sftp" ausführen möchten. Sie müssen also mit einer anderen Methode differenzieren. Vielleicht ein SFTP-spezifischer Account oder etwas.