Как добавить пользователя только с SFTP (без разрешения доступа по SSH) в CentOS 7
Введение
Этот учебник поможет вам создать пользователя только для SFTP (без доступа SSH) в системах CentOS и RedHat. Пользователь может подключиться к серверу только с доступом SFTP, и ему разрешен доступ только к указанному каталогу. Пользователь не может SSH на сервер. Следуйте инструкциям ниже, чтобы создать эту учетную запись только для SFTP.Предпосылки
Чтобы следовать этому руководству, убедитесь, что вы вошли на сервер с
sudo
пользователем.Шаг 1 - Создать нового пользователя
Сначала создайте нового пользователя, которому будет предоставлен только доступ для передачи файлов на сервер. Здесь мы используем имя пользователя mysftp , но вы можете использовать любое имя пользователя, которое вам нравится.adduser mysftp
passwd mysftp
Вы создали нового пользователя, которому будет предоставлен доступ к ограниченному каталогу. На следующем шаге мы создадим каталог для передачи файлов и настроим необходимые разрешения.
Шаг 2 - Создайте каталог для передачи файлов
После того, как наш пользователь создан, следующим шагом будет создание каталога, в котором будет действовать SFTP, предотвращающий доступ, и это должно быть настроено с определенными параметрами.Мы создадим каталог с именем,
/var/sftp/uploads
в котором он /var/sftp
является частью пользователя root, и никакие другие пользователи не будут иметь текущих разрешений, а в подкаталоге /var/sftp/uploads
владельцем будет доступ нового пользователя. Мы создаем каталог, используя следующую строку:mkdir -p /var/sftp/uploads
/var/sftp
в root .chown root:root /var/sftp
chmod 755 /var/sftp
uploads
каталоге на mysftp .chown mysftp:mysftp /var/sftp/uploads
Шаг 3 - Ограничить доступ к каталогу
На этом шаге мы ограничим доступ пользователя через терминал, но разрешим передачу файлов.Откройте файл конфигурации сервера SSH с помощью
vi
или вашего любимого текстового редактора:vi /etc/ssh/sshd_config
Match User mysftp
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
:wq
systemctl restart sshd
Шаг 4 - Проверьте соединение SSH
Давайте удостоверимся, что наш новый пользователь mysftp может только передавать файлы.Вход на сервер как mysftp с использованием обычного доступа к оболочке больше не должен быть возможным. Давай попробуем:
ssh mysftp@localhost
This service allows sftp connections only.
Connection to localhost closed.
Далее, давайте проверим, может ли пользователь успешно получить доступ к SFTP для передачи файлов.
sftp mysftp@localhost
Connected to localhost.
sftp>
ls
в приглашении:sftp> ls
uploads
каталог, созданный на предыдущем шаге, и вернет вас к sftp>
приглашению.uploads
Комментариев 0