在CentOS系统中,SFTP(SSH File Transfer Protocol)的配置主要通过修改sshd_config文件来实现。要设置文件传输模式,你需要调整以下参数:
sshd_config文件:sudo vi /etc/ssh/sshd_config
SFTP:确保此选项已启用(没有注释掉),以允许SFTP连接。SFTP
Subsystem:此选项用于定义SFTP子系统的配置。确保其设置为以下内容:Subsystem sftp /usr/libexec/openssh/sftp-server
ChrootDirectory:此选项用于限制用户访问特定目录。你可以为需要限制的用户设置此选项。例如,将用户限制在其主目录中:Match User <username>
ChrootDirectory %h
ForceCommand internal-sftp
将<username>替换为实际的用户名。
ForceCommand:此选项用于强制使用SFTP子系统,禁止使用其他shell。将其设置为internal-sftp:ForceCommand internal-sftp
AllowTcpForwarding 和 X11Forwarding:如果你不希望允许TCP和X11转发,可以将这两个选项设置为no:AllowTcpForwarding no
X11Forwarding no
保存并关闭sshd_config文件。
重启SSH服务以使更改生效:
sudo systemctl restart sshd
现在,你已经成功设置了SFTP文件传输模式。用户将只能使用SFTP进行文件传输,而无法访问shell。如果需要限制用户访问特定目录,请确保已正确设置ChrootDirectory选项。