以下是SFTP用户认证的通用配置步骤,以Linux系统为例:
安装OpenSSH服务器
sudo apt update && sudo apt install openssh-serversudo yum install openssh-server创建SFTP用户组与用户
sudo groupadd sftpuserssudo useradd -m -d /home/username -s /sbin/nologin -G sftpusers usernamesudo passwd username配置SSH文件(关键步骤)
编辑 /etc/ssh/sshd_config,添加以下内容:
# 启用SFTP子系统
Subsystem sftp internal-sftp
# 限制用户组使用SFTP,锁定主目录
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
ChrootDirectory %h:将用户限制在其主目录。ForceCommand internal-sftp:禁止SSH登录,仅允许SFTP。设置目录权限
sudo mkdir /home/username
sudo chown root:root /home/username
sudo chmod 755 /home/username
755,且属主为root,避免用户越权。重启SSH服务
sudo systemctl restart sshd
测试连接
使用SFTP客户端(如FileZilla或命令行)连接:
sftp username@server_ip,验证认证是否成功。
可选安全增强:
sshd_config中设置PasswordAuthentication no,仅允许密钥认证。~/.ssh/authorized_keys。不同系统(如Debian与CentOS)的配置差异主要体现在用户创建命令和路径细节,核心逻辑一致。