温馨提示×

怎样在debian建sftp用户

小樊
42
2026-09-21 20:21:03
栏目: 智能运维

在 Debian 上创建 仅用于 SFTP 的用户(不能 SSH 登录),通常做法如下:


一、创建 SFTP 用户

sudo adduser sftpuser

按提示设置密码(其他信息可留空)。


二、创建 SFTP 根目录

建议把用户限制在 /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

四、修改 SSH 配置

编辑配置文件:

sudo nano /etc/ssh/sshd_config

1️⃣ 确保有这一行(Debian 通常已存在)

Subsystem sftp internal-sftp

2️⃣ 在文件末尾添加

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

如果有多个用户,可写成:

Match Group sftp

五、重启 SSH

sudo systemctl restart ssh

六、测试 SFTP

sftp sftpuser@服务器IP

✅ 成功
❌ 若报错,常见原因:

  • Chroot 目录不是 root 拥有
  • 权限不是 755
  • SSH 未重启

七、(推荐)使用用户组方式(多用户)

sudo groupadd sftp
sudo usermod -aG sftp sftpuser

sshd_config:

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

如果你需要:

  • 公钥登录
  • 限制 IP
  • 只读 SFTP
  • Docker / 云服务器场景

可以继续问我。

0 踩