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