Назад | Перейти на главную страницу

Chrooted пользователь вышел из системы сразу после входа в систему

Я пытаюсь использовать chroot для настройки пользователя, который может входить в систему через ssh и ограничивать доступ к /var/www каталог. Сервер находится на AWS под управлением 64-разрядной версии Amazon Linux, установлен openssh. Я использовал ssh-keygen для генерации ключей.

Прежде чем я отредактирую sshd_config файла, я могу войти в систему с именем пользователя и закрытым ключом, пользователь запускается в /home/my-username каталог, поэтому ключ действителен.

Я изменил sshd_config файл следующим образом:

Subsystem sftp internal-sftp

Match User my-username
ChrootDirectory /var/www
ForceCommand internal-sftp
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no

Затем я перезапустил sshd.

В ChrootDirectory /var/www принадлежит root: root без групп, имеющих права записи до этой точки в дереве - установка Apache по умолчанию.

Когда я вхожу в систему с моим именем пользователя и ключом, сеанс немедленно отключается. Я проверил /var/log/secure и найдите эту запись:

Nov  3 19:53:51 ip-xxx.xxx.xxx.xxx sshd[2945]: Accepted publickey for my-username from xxx.xxx.xxx.xxx port 61821 ssh2
Nov  3 19:53:51 ip-xxx.xxx.xxx.xxx sshd[2945]: pam_unix(sshd:session): session opened for user my-username by (uid=0)
Nov  3 19:53:51 ip-xxx.xxx.xxx.xxx sshd[2945]: pam_unix(sshd:session): session closed for user my-username

Я прочитал множество тем на многих форумах и увидел различные решения, некоторые из которых я пробовал безуспешно. Я хотел бы, чтобы это было как можно проще. Цель состоит в том, чтобы создать учетную запись пользователя для разработчика, которому нужно только загружать файлы на веб-сервер с помощью WinSCP, в случае по умолчанию для /var/www/html.

Я нашел эту ветку - Пользователь мгновенно отключается после успешного подключения на chrooted SSH - но не уверен, что это напрямую связано с моей проблемой.

Я думаю, это может иметь какое-то отношение к моей конфигурации PAM. Опять же, это установка по умолчанию.

Заранее благодарим вас за любое направление, которое вы можете предоставить.

Среды Chroot требуют наличия всех библиотек и двоичных файлов, необходимых для нормальной работы. Сюда входят все файлы общих объектов, с которыми связана оболочка входа. Если вы скопируете дополнительные двоичные файлы команд в этот chroot, вам также потребуются их зависимости компоновщика.

  • Найдите руководство по настройке среды chroot для входа по ssh. Пример, который я нашел через Google: http://allanfeid.com/content/creating-chroot-jail-ssh-access)
  • Подумайте, действительно ли вы хотите создать эту среду chroot в / var / www. Вы действительно хотеть /var/www/dev, /var/www/lib, и т.д.?