如何配置 SFTP 使其表现得像 ftp chrooting 用户到他的主目录?

Man*_*ade 7 sftp vsftpd

vsftpd在 Fedora 10 上安装了实用程序来限制用户访问他们的 (chroot) 主目录。当我使用ftp提示连接时它工作正常。但是,当我使用sftp.

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

Sté*_*las 9

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

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


0xC*_*22L 9

除了 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
Run Code Online (Sandbox Code Playgroud)

如您所见,它还设置了其他选项。严格来说,您要求的功能只需要这个:

Match group sftponly
    ChrootDirectory /home
    ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)

但当然,这些选项会阻止用户 (ab) 使用其他 SSH 工具。

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

  • @Mangesh Jogade:添加到我的答案中。但是*请*解决您的问题。没有*诸如 SFTPD 之类的东西,我不知道您所说的“SFTP 提示”是什么意思。`sshd` 有一个 `sftp` 子系统,仅此而已。 (2认同)