Debian SFTP 多用户管理实操指南
一 架构与准备
sudo apt update && sudo apt install openssh-serversudo systemctl status sshsudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak二 快速配置步骤
sudo groupadd sftpuserssudo adduser --disabled-password --gecos "" alice 或 sudo useradd -m -s /usr/sbin/nologin alicesudo usermod -aG sftpusers alice/etc/ssh/sshd_config,在文件末尾加入:Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
PasswordAuthentication yes # 如需密钥登录可改为 no 并配置公钥
ChrootDirectory %h 将用户根目录限制在其主目录;ForceCommand internal-sftp 仅允许 SFTP,禁止 Shell 登录;sudo chown root:root /home/alicesudo chmod 755 /home/alicesudo mkdir -p /home/alice/uploadsudo chown alice:sftpusers /home/alice/uploadsudo chmod 755 /home/alice/uploadsudo sshd -tsudo systemctl restart sshsftp alice@your_server_ipssh alice@your_server_ip 应被拒绝或立即断开。三 多用户与目录规划
/srv/sftp/
├── alice/
│ ├── incoming/ # 可写(上传)
│ └── shared/ # 只读(由管理员统一放发)
└── bob/
├── incoming/
└── shared/
sudo chown root:root /srv/sftp/alicesudo chmod 755 /srv/sftp/alicesudo mkdir -p /srv/sftp/alice/{incoming,shared}sudo chown alice:sftpusers /srv/sftp/alice/incomingsudo chmod 755 /srv/sftp/alice/incomingsudo chown root:sftpusers /srv/sftp/alice/shared && sudo chmod 755 /srv/sftp/alice/shared/etc/passwd、/etc/group、/etc/ssh/sshd_config 与用户目录权限。四 认证与运维要点
PasswordAuthentication yes(在 Match Group sftpusers 段或全局)。ssh-keygen -t ed25519sudo mkdir -p /home/alice/.sshsudo chown alice:sftpusers /home/alice/.ssh && sudo chmod 700 /home/alice/.sshecho "ssh-ed25519 AAAAC3..." | sudo tee /home/alice/.ssh/authorized_keyssudo chown alice:sftpusers /home/alice/.ssh/authorized_keys && sudo chmod 600 /home/alice/.ssh/authorized_keyssshd_config 中可设置 PasswordAuthentication no(在 Match Group sftpusers 段)以强制密钥登录。sudo tail -f /var/log/auth.log 实时查看。sudo sshd -t 检查语法,确认修改的是 /etc/ssh/sshd_config 并已重启 ssh 服务。