温馨提示×

如何备debian sftp配置

小樊
42
2026-10-24 04:39:41
栏目: 智能运维

下面给你一份在 Debian 上配置 SFTP(基于 OpenSSH)的常见、稳妥做法,适用于仅 SFTP、禁止 SSH 登录的场景,也包含普通可用版本。


一、基本前提

  • Debian 已安装 OpenSSH Server
sudo apt update
sudo apt install openssh-server
  • 以 root 或具有 sudo 权限的用户操作

二、创建 SFTP 用户和目录(推荐方式)

1. 创建用户

sudo adduser sftpuser

(设置密码,可留空壳)

2. 创建 SFTP 根目录

sudo mkdir -p /sftp/sftpuser
sudo chown root:root /sftp/sftpuser
sudo chmod 755 /sftp/sftpuser

3. 创建可写目录

sudo mkdir /sftp/sftpuser/upload
sudo chown sftpuser:sftpuser /sftp/sftpuser/upload

三、配置 SSH(关键)

编辑 SSH 配置:

sudo nano /etc/ssh/sshd_config

1. 注释或确认原 Subsystem

# Subsystem sftp /usr/lib/openssh/sftp-server

2. 添加 SFTP 专用配置(放文件末尾)

Subsystem sftp internal-sftp

Match User sftpuser
    ChrootDirectory /sftp/sftpuser
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no
    PasswordAuthentication yes

多个用户可用 Match Group sftp 方式


四、限制为 SFTP 组(可选但推荐)

sudo groupadd sftp
sudo usermod -G sftp sftpuser

sshd_config:

Match Group sftp
    ChrootDirectory /sftp/%u
    ForceCommand internal-sftp

目录结构:

/sftp/
 └── sftpuser/
     └── upload/

五、重启 SSH

sudo systemctl restart ssh

六、测试 SFTP

sftp sftpuser@服务器IP

登录后:

cd upload
put test.txt

七、常见问题

1. 登录失败:bad ownership

Chroot 目录必须:

  • 属主为 root
  • 权限 ≤ 755

2. 无法写入

上传目录要属于该用户

3. 仍可用 SSH

确认有:

ForceCommand internal-sftp

八、安全建议

  • 使用 密钥登录
  • 禁用密码(生产环境)
  • 限制 IP(防火墙 / AllowUsers)
  • 定期更新 Debian

如果你需要:

  • ✅ Debian 12 特定配置
  • ✅ 多用户隔离方案
  • ✅ SFTP + chroot + 密钥
  • ✅ vsftpd / proftpd 对比

告诉我你的使用场景即可。

0 踩