在 Debian 上创建 仅用于 SFTP 的用户(不能 SSH 登录),通常做法如下:
sudo adduser sftpuser
按提示设置密码(其他信息可留空)。
建议把用户限制在 /sftp/sftpuser 目录:
sudo mkdir -p /sftp/sftpuser
sudo chown root:root /sftp/sftpuser
sudo chmod 755 /sftp/sftpuser
⚠️ SFTP 根目录必须由 root 拥有,且其他用户不能写
sudo mkdir /sftp/sftpuser/upload
sudo chown sftpuser:sftpuser /sftp/sftpuser/upload
编辑配置文件:
sudo nano /etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match User sftpuser
ChrootDirectory /sftp/sftpuser
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
如果有多个用户,可写成:
Match Group sftp
sudo systemctl restart ssh
sftp sftpuser@服务器IP
✅ 成功
❌ 若报错,常见原因:
sudo groupadd sftp
sudo usermod -aG sftp sftpuser
sshd_config:
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
如果你需要:
可以继续问我。