Настраиваем SFTP chroot на OpenSSH.
Иногда нужно ограничить пользователя правами только на подключение по SFTP , без возможности выполнения команд на сервере.
Давайте рассмотрим как это сделать.
Первое, убедитесь что у вас версия openssh не ниже OpenSSH 4.9+
На Ubuntu это можно сделать следующей командой:
dpkg -s openssh-server | grep Version
Теперь создаем новую группу, в которую должны входить пользователи которым необходим доступ только по SFTP
groupadd sftponly
Далее открываем конфиг openssh (/etc/ssh/sshd_config) и вносим в него следующие параметры:
Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no PermitTunnel no X11Forwarding no
Этими настройками мы указываем настройки chroot для этой группы.
Перезапускаем службу openssh для применения изменений
service ssh restart
Теперь добавляем пользователя (например USER) в группу
gpasswd -a USER sftponly
Далее установим владельцем chroot каталога пользователя пользователя root
chown root:root /home/user
Отключаем пользователю возможность использовать Shell
usermod -s /bin/false user
Теперь при подключении пользователю USER будет доступен только доступ по SFTP, выполнять команды на сервере пользователь не сможет.
Чтобы немного сэкономить время, можно вот так добавлять новых пользователей
usermod -g sftponly username
usermod -s /bin/false username
Вот и все, удачной вам настройки!
Добавить комментарий