Настройка SFTP доступа

Материал из megapuper
Перейти к: навигация, поиск

Понадобилось настроить SFTP доступ, чтобы заливать фалы на www-сервер. Делаем на Debian Stretch. Папка с сайтом /srv/www/sldel. Проект работает от пользователя sldel


Заводим пользователя sldel без доступа к консоли

# useradd -u 10001 -m -s /sbin/nologin sldel


Делаем ему пароль

# passwd sldel


Создаём папку для chroot, о ней ниже

# mkdir /home/sldel/sldel.ru


Далее придётся подредактировать /etc/ssh/sshd_config

PasswordAuthentication yes
Subsystem sftp internal-sftp
Match user sldel
X11Forwarding no
AllowTcpForwarding no
AllowAgentForwarding no
PermitTunnel no
ChrootDirectory %h
ForceCommand internal-sftp

ChrootDirectory - родительский каталог, в данном случае, в нём будет лежать содержимое сайта.


Рестартим ssh

# service ssh restart


Теперь настроим директории

# chown root:root /home/sldel
# chmod 755 /home/sldel
# chown sldel:sldel /home/sldel/sldel.ru


Ну и в завершении предоставить доступ к папке, которая лежит за пределами ChrootDirectory. Для этого монтируем /srv/www/sldel в chroot/sldel.ru

# mount --bind /srv/www/sldel/ /home/sldel/sldel.ru


Можно подключаться и заливать файло, проблем с правами быть не должно.