Изменение корневой папки ssh-сервера

Изменение корневой папки ssh-сервера

Есть несколько похожих вопросов, но не одинаковых. Я не хочу менять папку по умолчанию. поэтому я хочу установить КОРНЕВУЮ ПАПКУ для подключения по ssh. Я имею в виду, что единственная папка, к которой клиент имеет доступ, это та, которую я установил. Я хочу установить путь, к которому мой клиент будет иметь доступ только к нему и не сможет использовать cd ...

Они не могут перейти в папки более высокого уровня, поскольку у них нет доступа и разрешения.

Редактировать: самое главное, что я хочу сделать, это иметь локальный сервер с некоторыми другими устройствами для записи на него, но не для доступа ко всем файлам. Если есть способ лучше, чем ssh, извините за мой плохой вопрос.

Спасибо

решение1

Вам нужно настроить ChrootDirectoryконфигурацию sshd для указанного пользователя, или для какой-то группы, или для всех пользователей, но это ужасно.

Например, вы создаете новый файл /etc/ssh/sshd_config.d/chroot_some_users.confи помещаете в него следующее:

Match User myuser
     ChrootDirectory %h

Если вы хотите, чтобы это было доступно нескольким пользователям, используйте Match Group groupnameи добавьте всех необходимых пользователей в эту группу.

В современных дистрибутивах Linux есть Include /etc/ssh/sshd_config.d/*.confв /etc/ssh/sshd_config. В старых дистрибутивах вам может потребоваться добавить эту строку туда самостоятельно; просто добавьте ее в конец. Когда вы все сделали, проверьте с помощью sshd -t, и если он не сообщает об ошибках, можно безопасно перезагрузить конфигурацию с помощью systemctl reload sshd.service.

Пользователь myuserв конечном итоге увидит свой домашний каталог как корневой каталог файловой системы через SSH. Обратите внимание, что он не сможет войти через SSH, поскольку этот chroot не позволит ему увидеть двоичный файл оболочки и требуемые библиотеки, если только вы не сделаете их доступными в его домашнем каталоге. Но он по-прежнему сможет использовать SFTP для передачи файлов и переадресации портов TCP.

Прочитайте man sshd_config(полностью!) и man sshdузнайте много важной и полезной информации.

Связанный контент