我vsftpd
在 Fedora 10 上安装了实用程序来限制用户访问他们的 (chroot) 主目录。当我使用ftp
提示连接时它工作正常。但是,当我使用sftp
.
为了实现与 相同的功能,需要进行哪些更改sftp
?
vsftpd
是一个实现FTP协议的FTP服务器。一些加密扩展可用于 FTP,但它们与作为 SSH 子系统的 SFTP 完全不同。
如果要使用sftp
,则需要配置ssh
服务器并启用sftp
子系统(sshd_config
有关详细信息,请参阅手册页)。也可以sftp
使用chroot
ed 用户区域进行配置。
除了 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
指令的详细信息,请咨询。您还可以匹配每个用户、每个主机和每个(远程)地址。