LinuxForum.Fans
Тема

Проблема с настройкой sftp и chroot

Автор: NordWest 2 сообщений 2132 просмотров
#209921

Нужно запереть пользователя в домашней директории с доступом по sftp. Делаю по инструкции, одной из таких: http://www.debian-administration.org/articles/590
В sshd_config:

text

...
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.
Делаю следующее:

text

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 прописать такую строчку:

text
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

Т.е. открывается и закрывается. Ещё кучу вариантов перепробовал с тем же результатом. Как правильно сделать то?

#210403

В общем получилось. Работает с такой настройкой:

text

Subsystem sftp internal-sftp

В остальном были лишь нюансы.

Войдите или зарегистрируйтесь, чтобы ответить.