如何配置 SFTP,使其行为类似于 ftp chrooting 用户到其主目录?

如何配置 SFTP,使其行为类似于 ftp chrooting 用户到其主目录?

我在 Fedora 10 上安装了vsftpd实用程序来限制用户只能访问其 (chroot) 主目录。当我使用ftp提示连接时它工作正常。但是,当我使用 进行连接时它不起作用sftp

为了实现相同的功能需要进行哪些更改sftp

答案1

除了 Stephane 的回答之外,我还想指出还有 FTPS。 FTPS 是基于 SSL 安全连接的经典 FTP 协议。如果你的意思是这个,你当然必须调整你的问题,但这将是一个完全不同的问题。

FTPS 有两种变体,一种是控制通道受到保护(凭证等),另一种是数据通道也受到保护。然而,正如 Stephane 已经指出的那样,协议是不同的,包括功能和命令。


关于你的评论。您可以配置/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

但当然,这些选项会阻止用户使用其他 SSH 设施。

请咨询man sshd_config更多详细信息,特别是有关该Match指令的信息。您还可以匹配每个用户、每个主机和每个(远程)地址。

答案2

vsftpd是一个实现FTP协议的FTP服务器。 FTP 提供了一些加密扩展,但它们与 SFTP 完全不同,SFTP 是 SSH 的子系统。

如果要使用sftp,则需要配置ssh服务器并启用sftp子系统(sshd_config详细信息请参阅手册页)。还可以配置sftpedchroot用户区域。

相关内容