Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Проблема с доступом по OpenSSH SFTP ChrootDirectory на debian 7.8  (Прочитано 3932 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Krutilator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Имеется сервер на дебиан 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 - все равно ошибка соединения.

Как решить проблему?

Заранее спасибо.
Core 2 Duo E6750 G0, Gigabyte GA-X48-DQ6, 2xOCZ2P10664GK (4x2048), Creative X-Fi ExtremeMusic, GeForce 8800GTS 640 Mb, 2xSeagate ST3250410AS, Seagate ST3320620AS.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Какую именно проблему?
По умолчанию каждый пользователь попадает в свой домашний каталог, а не в корень.
useradd создаёт профиль автоматом, если ты не занимаешься дурью, как в твоём примере.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Krutilator

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
По умолчанию каждый пользователь попадает в свой домашний каталог, а не в корень.
Нет не в домашний. Попадает в корневой, я ведь пробовал.
Речь про sftp протокол передачи файлов идет.
А задача состоит в том, чтобы пользователь при соединении попадал в домашний каталог и не имел доступа к корню.
Для этой цели есть Chroot, но чего-то где-то не стыкуется.
Делал по гайдам.
Core 2 Duo E6750 G0, Gigabyte GA-X48-DQ6, 2xOCZ2P10664GK (4x2048), Creative X-Fi ExtremeMusic, GeForce 8800GTS 640 Mb, 2xSeagate ST3250410AS, Seagate ST3320620AS.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
chroot существует не для этих целей.
И вообще Ubuntu это не Debian. Это Debian derivative.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.022 секунд. Запросов: 21.