Назад | Перейти на главную страницу

Настройка chroot sftp на сервере debian

Я пытаюсь разрешить пользователю "пользователю" доступ к моему серверу с помощью sftp или ssh. Я хочу поместить их в каталог с помощью chroot. Читаю инструкцию Вот однако это не работает. Я сделал следующее:

  1. пользователь useradd
  2. изменить / etc / ssh / sshd_config и добавить

    Match User user

    ForceCommand internal-sftp

    ChrootDirectory /home/duke/aa/smart в конец файла

  3. изменил строку подсистемы на Subsystem sftp internal-sftp

  4. перезапустил sshd с /etc/init.d/ssh restart

  5. вошел в систему с помощью ssh как пользователь "пользователь" с помощью PuTTY

Putty сообщает: «Сервер неожиданно закрыл соединение».

Почему это и как это исправить?

РЕДАКТИРОВАТЬ

Следуя приведенным ниже предложениям, я сделал нижнюю часть sshd_config таким:

Match User user
   ChrootDirectory /tmp

пока без изменений. Я получил пароль в порядке, но я не могу подключиться через ssh или sftp. Что дает?

Каталог, который вы установили в качестве chroot, должен принадлежать пользователю root и иметь 755 разрешений.

Это то, что я использую для своей настройки

Match user sftpuser
 ChrootDirectory /home/sftpuser
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

дома

drwxr-xr-x   5 root    users 4096 Jan 29 10:31 sftpuser

в / home / sftpuser

drwx------ 2 sftpuser users 4096 Jan 29 10:52 sftpuser

Этот chroot помещает их в каталог / home / sftpuser, но поскольку у них нет разрешения на запись в него, я создаю второй каталог sftpuser, в который они могут писать.

Проверьте свой /var/log/auth.log на наличие ошибок ssh.

Вероятно, это ошибка разрешений. Каталог chroot должен принадлежать корень.

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

Subsystem       sftp    internal-sftp

AllowGroups sshusers sftponly

Match group sftponly
  ChrootDirectory %h
  X11Forwarding no
  AllowTcpForwarding no
  ForceCommand internal-sftp

Я думаю проблема в ChrootDirectory /home/duke/aa/smart. Проблема связана с разрешениями. Я думаю, что пользователь, через которого вы пытаетесь войти в систему, не имеет разрешения на выполнение. Можете ли вы однажды попробовать изменить это в какой-нибудь каталог, например /tmp где каждый пользователь имеет полное разрешение.