9 марта 2015 г.

chroot sftp

У меня в примере группа для sftp используется apache.

Открываем ssh конфиг и делаем правки в самом низу vi /etc/ssh/sshd_config

Закомментируем
#Subsystem      sftp    /usr/libexec/openssh/sftp-server

И напишем взамен
Subsystem       sftp    internal-sftp
Match Group apache
PasswordAuthentication yes - если по паролю давать доступ
ChrootDirectory /var/www/site/htdocs - корневая директория, выше которой не подняться
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp

sudo service sshd reload

Права на корневую директорию должны быть 755 и root:apache
drwxr-xr-x  29 root    apache   4096 Oct 16 12:53 htdocs

Права на контент любые, ну к примеру apache:apache

Убедиться, что SELinux отключен
SELINUX=disabled

Юзера создаем след командой:
useradd -d /var/www/site/htdocs -G apache -s /bin/false -M -N {username}
Потом выполнить passwd {username} для установки пароля юзеру

Создается юзер, добавляется в группу apache, дом.директория прописывается /var/www/site/htdocs и запрещаем юзеру шелл.
-M -N - не создавать домашнюю директорию и группу.

Доступ юзерам по ssh ключам:
.ssh                            755 root:apache
.ssh/authorized_keys   440 root:apache

Просто добавляем ключи в authorized_keys

Комментариев нет:

Отправить комментарий