Нужно запереть пользователя в домашней директории с доступом по sftp. Делаю по инструкции, одной из таких: http://www.debian-administration.org/articles/590
В sshd_config:
...
Subsystem sftp /usr/lib/openssh/sftp-server
...
Match Group sftpusers
ChrootDirectory /home/sftp/%u
AllowTCPForwarding no
X11Forwarding no
ForceCommand /usr/lib/openssh/sftp-server
Т.е. этих пользователей я хочу держать в соответствующий их имени папках в директории /home/sftp.
Делаю следующее:
chown -R root.root /home/sftp/user
usermod -d / user
adduser user sftpusers
При подключении выдает ошибку:
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
В логе auth следующее:
fatal: bad ownership or modes for chroot directory "/home/sftp/user"
Владелец у папки понятно кто, доступ 755.
Если в sshd_conf прописать такую строчку:
ChrootDirectory %hТо соединиться удается, но пользователь оказывается в корне / и всё там видит. Т.е. не так.
Если теперь сделать usermod -d /home/sftp user, то пишет "Connection closed" и в логе следующее:
pam_unix(sshd:session): session opened for user user by (uid=0)
subsystem request for sftp
pam_unix(sshd:session): session closed for user user
Т.е. открывается и закрывается. Ещё кучу вариантов перепробовал с тем же результатом. Как правильно сделать то?