在 CentOS 上配置 SFTP(通常基于 OpenSSH 的 internal-sftp),常见步骤如下:
openssh-serverrpm -qa | grep openssh-server
systemctl status sshd
useradd sftpuser
passwd sftpuser
mkdir -p /data/sftp/sftpuser
chown root:root /data/sftp/sftpuser
chmod 755 /data/sftp/sftpuser
mkdir /data/sftp/sftpuser/upload
chown sftpuser:sftpuser /data/sftp/sftpuser/upload
编辑配置文件:
vi /etc/ssh/sshd_config
# Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match User sftpuser
ChrootDirectory /data/sftp/sftpuser
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
多个用户可用
Match Group sftpusers
setsebool -P ssh_chroot_rw_homedirs on
restorecon -Rv /data/sftp
systemctl restart sshd
firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload
sftp sftpuser@服务器IP
如果你需要 多用户隔离 / 仅 SFTP 无 SSH / 使用密钥登录,我也可以给你对应配置示例。