CentOS SFTP配置教程
一 环境准备与安装
sudo yum install -y openssh-server。sudo systemctl start sshd && sudo systemctl enable sshd。sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload。二 快速搭建仅 SFTP 的专用用户
sudo groupadd sftpusers。sudo useradd -m -G sftpusers -s /sbin/nologin sftpuser,设置密码:sudo passwd sftpuser。Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo chown root:root /home/sftpuser && sudo chmod 755 /home/sftpuser。sudo mkdir -p /home/sftpuser/uploads && sudo chown sftpuser:sftpusers /home/sftpuser/uploads && sudo chmod 755 /home/sftpuser/uploads。sudo systemctl restart sshd。sftp sftpuser@your_server_ip,应只能访问 /home/sftpuser(可写入 upload)。三 集中目录与多用户隔离
sudo mkdir -p /data/sftp
sudo chown root:sftpusers /data/sftp
sudo chmod 755 /data/sftp
sudo useradd -g sftpusers -d /upload -s /sbin/nologin alice,设置密码:sudo passwd alice。sudo mkdir -p /data/sftp/alice/upload && sudo chown alice:sftpusers /data/sftp/alice/upload && sudo chmod 755 /data/sftp/alice/upload。Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo systemctl restart sshd。Match User alice 精确匹配;目录隔离便于运维与审计。四 常见问题与排错
sudo sshd -t,无输出再重启,避免因语法错误导致 sshd 无法启动。sudo setenforce 0 验证;生产环境请使用 semanage 等工具做正确上下文配置,而非长期关闭 SELinux。五 安全加固与最佳实践