Введите имя домена:
.ua .com.ua .in.ua .org.ua
.ru .com .net .org
Показать все домены

Ограничение доступа к оболочке с помощью SFTP

Ответы на вопросы от компании «Украинский хостинг».

Ограничение доступа к оболочке с помощью SFTP

SFTP (SSH File Transfer Protocol) – это протокол передачи файлов SSH, позволяющий безопасным способом передавать файлы на сервер используя зашифрованное SSH-соединение.

Рекомендуется создать не root пользователя с доступом к sudo.

В инструкции используется текстовый редактор nano, для установки которого требуется выполнить команду:

yum install nano

Процедура ограничения доступа к оболочке с помощью SFTP состоит из следующих шагов:

  1. Создаем нового пользователя newuser с правами на передачу файлов:

    sudo adduser newuser
  2. Устанавливаем пароль для нового пользователя:

    sudo passwd newuser
  3. Создаем каталог для передачи файлов:

    sudo mkdir -p /var/sftp/uploads
  4. Передаем права на /var/sftp пользователю root:

    sudo chown root:root /var/sftp
  5. Передаем пользователю root право на запись в данном каталоге. У остальных пользователей буду права только на чтение и исполнение:

    sudo chmod 755 /var/sftp
  6. Передаем каталог uploads пользователю newuser:

    sudo chown newuser:newuser /var/sftp/uploads
  7. Открываем конфигурационный файл сервера SSH:

    sudo nano /etc/ssh/sshd_config

    после чего в конце файла добавляем следующие строки (newuser необходимо заменить на собственного пользователя):

    Match User newuser
    ForceCommand internal-sftp
    PasswordAuthentication yes
    ChrootDirectory /var/sftp
    PermitTunnel no
    AllowAgentForwarding no
    AllowTcpForwarding no
    X11Forwarding no

    Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter

  8. Перезапускаем сервис:

    sudo systemctl restart sshd

    Теперь SSH-сервер ограничивает доступ к передаче файлов, поддерживая её только для пользователя newuser.

    Войти на сервер как newuser с помощью обычного доступа по SSH больше невозможно. Для проверки выполним команду:

    ssh newuser@localhost
  9. Чтобы убедиться, что пользователь newuser может использовать SFTP для передачи файлов, выполняем команду:

    sftp newuser@localhost
  10. Выполняем команду ls для просмотра содержимого каталога:

    ls

    Видим созданную ранее папку uploads

    Чтобы убедиться, что для пользователя newuser ограничен доступ к каталогам высшего уровня, выполняем команду перехода на уровень вверх:

    cd ..

    Данная команда ничего не покажет, но если мы повторно выполним команду ls , мы увидим все ту же папку uploads, что значит переход на уровень выше не был произведен.

См.также: