@kirill-93

Не пускает пользователя по ssh?

Нужно пустить дизайнера на сервер, то есть открыть доступ к папке с картинками.
Для этого создал пользователя
sudo adduser --no-create-home designer
Выставил права на нужную папку
sudo chown designer:designer /var/www/project/public
sudo chmod 755 /var/www/project/public

Добавил эти строки в sshd_config
Match user designer
  ChrootDirectory /var/www/project/public

Установил пользователю пароль и перезапустил sshd.
При попылке залогиниться под этим пользователем получаю ошибку "Connection closed by remote host".
Почему его не пускает и правильно ли я настраиваю доступ к папке?

UPD: Вот что нашел в secure log
fatal: bad ownership or modes for chroot directory
UPD2: Вот что я нагуглил по этому поводу

ChrootDirectory - владельцем этой папки должен быть root и у других пользователей не должно быть прав на запись.
В противном случае получим ошибку:
fatal: bad ownership or modes for chroot directory
Поэтому ChrootDirectory делается на каталог выше

То есть ставлю в ChrootDirectory /var/www/project. У project, как и у var с www владельцем является root.
Но теперь после попытки авторизоваться под designer полчаю ошибку
Could not chdir to home directory /home/designer: No such file or directory

Попробовал создать пользователя с домашней директорией. Теперь /home/designer есть, но ошибка та же.
Причем он авторизуется, а затем его выкидывает.
Last login: Sat Nov 12 00:10:31 2016 from ***
Could not chdir to home directory /home/designer: No such file or directory
/bin/bash: No such file or directory
Connection to *** closed.
  • Вопрос задан
  • 3222 просмотра
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега Ubuntu
software engineer
Вы же запираете пользователя в /var/www/project/public, следовательно после логина для него / это ваш /var/www/project/public.
И логично, что он не находит ни /var/www/project/public/home/designer ни /var/www/project/public/bin/bash.

Может пользователю не нужен ssh, а будет достаточно sftp? Поднимите ftp сервер и все.
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
1) Убедитесь, что designer имеет доступ не только к /var/www/project/public, но и ко всем родительским директориям
2) Вам не нужен chroot, с ним вам нужно будет внутрь chroot положить все необходимые бинарники вроде /bin/bash, иначе оболочка не запустится, из chroot же доступа к ним нет; просто настройте права и ограничьте оболочку нужными командами в зависимости от потребностей
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы