Имеется сервер на дебиан 7.8. Решил сделать доступ для пользователей по sftp. Проблема в том, что sftp дает доступ всем пользователям к корню, хотя и только на чтение. Так все работает, но хотелось бы загнать всех пользователей, кому разрешен доступ по сфтп, в /home.
Проблема в том, что при использовании ChrootDirectory все клиенты выдают ошибку:
1) SFTP plugin 1.4.63.6 для тотал коммандера - "Connection to quick connection 192.168.1.95 closed - bye bye!"
2) WinSCP - "Протокол авторизации (подробности см. в журнале соединения: Использую имя пользователя "vlad". Аутентификация не пройдена."
Хотя обе эти программы без проблем устанавливают соединение, если не использовать ChrootDirectory, правда при этом пользователи получают доступ в корень.
Делал по гайдам так:
1) Создал группу ~# addgroup --system sftpusers
2) В /etc/ssh/sshd_config заменил Subsystem sftp /usr/lib/openssh/sftp-server
на Subsystem sftp internal-sftp
3) В том же файле в конце дописал
Match Group sftpusers
ChrootDirectory %h (так же пробовал и прямо писать /home/vlad)
ForceCommand internal-sftp
AllowTcpForwarding no
4) Перезапустил sshd ~# invoke-rc.d ssh reload
5) Затем создал пользователя vlad:
~# useradd -G sftpusers -s /bin/false -d /home/vlad vlad
~# mkdir /home/vlad
~# chown root:vlad /home/vlad
~# chmod 750 /home/vlad
~# passwd vlad
Кроме того, пробовал в /etc/ssh/sshd_config использовать ChrootDirectory и непосредственно для пользователя vlad - все равно ошибка соединения.
Как решить проблему?
Заранее спасибо.