Как настроить SFTP, чтобы он работал как ftp chrooting пользователя в своем домашнем каталоге?

Я установил утилиту vsftpd на Fedora 10, чтобы ограничить пользователей домашними каталогами (chroot). Он отлично работает, когда я использую приглашение ftp для подключения. Однако это не работает, когда я подключаюсь с помощью sftp .

Какие изменения необходимы для достижения такой же функциональности с помощью sftp ?

В дополнение к ответу Стефана я хотел бы указать, что есть FTPS. FTPS является классическим протоколом FTP через SSL-защищенное соединение. Если бы вы имели в виду это, вам нужно было бы, конечно, подправить свой вопрос, но тогда это был бы совсем другой вопрос.

Существует две вариации FTPS, одна из которых – защищенный канал управления (учетные данные и т. Д.) И другой, где также защищен канал данных. Однако, как уже указывал Стефан, протоколы разные, в том числе возможности и команды.


Относительно вашего комментария. Вы можете настроить в /etc/ssh/sshd_config разрешить на основе определенных критериев только определенную структуру каталогов. Вот пример, который ограничит всех членов группы sftponly в /home . Отрегулируйте ваши потребности:

 Match group sftponly ChrootDirectory /home X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp PasswordAuthentication no 

Как вы можете видеть, он также устанавливает другие параметры. Строго говоря, для функциональности, которую вы просите, вам нужно только следующее:

 Match group sftponly ChrootDirectory /home ForceCommand internal-sftp 

Но, конечно, эти опции не позволяют пользователям (ab) использовать другие средства SSH.

Обратитесь к man sshd_config для получения дополнительной информации, в частности, о директиве Match . Вы также можете сопоставлять адреса для каждого пользователя, каждого хоста и каждого (удаленного) адреса.

vsftpd – это FTP-сервер, реализующий протокол FTP. Некоторые расширения для шифрования доступны для FTP, но они полностью отличаются от SFTP, который является подсистемой SSH.

Если вы хотите использовать sftp , вам нужно настроить ssh сервер и включить подсистему sftp (подробнее см. Man-страницу sshd_config ). Также можно настроить sftp с пользовательскими областями chroot ed.