Debian SFTP 传输模式配置指南
一 概念澄清
二 常用配置场景与示例
仅允许 SFTP 并限制在特定目录(推荐)
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
PermitTunnel no
sudo groupadd sftpusers
sudo useradd -m -G sftpusers alice
sudo passwd alice
# 隔离根目录必须为 root 拥有,权限 755
sudo chown root:root /home/alice
sudo chmod 755 /home/alice
# 可写子目录(供上传/下载)
sudo mkdir -p /home/alice/upload
sudo chown alice:sftpusers /home/alice/upload
sudo chmod 700 /home/alice/upload
允许 SFTP 且保留 SSH 登录(不 Chroot)
# 可选:显式启用外部子系统(多数系统默认已存在)
Subsystem sftp /usr/lib/openssh/sftp-server
三 应用与验证
sudo sshd -t # 检查配置语法
sudo systemctl restart ssh # Debian 通常服务名为 ssh
# 或在某些系统上:sudo systemctl restart sshd
sftp alice@your_server_ip
# 或交互式:sftp
sftp> ls
sftp> put localfile /upload/remotefile
sftp> get /upload/remotefile localfile
sudo ufw allow 22/tcp
sudo ufw reload
以上步骤可确保配置正确加载并可正常传输。四 常见问题与排查