温馨提示×

debian sftp如何开启

小樊
36
2026-10-12 10:25:24
栏目: 智能运维

在 Debian 上开启 SFTP(基于 SSH 的文件传输)通常只需要启用并配置 OpenSSH Server 即可,因为 SFTP 是 SSH 的一部分。下面是常见、安全的做法。


一、安装并开启 SSH(SFTP 依赖 SSH)

1. 安装 OpenSSH Server

sudo apt update
sudo apt install openssh-server

2. 启动并设置开机自启

sudo systemctl enable ssh
sudo systemctl start ssh

3. 检查状态

sudo systemctl status ssh

看到 active (running) 说明 SSH / SFTP 已可用。

✅ 默认情况下,安装完 SSH 后 SFTP 就已经可以使用了


二、使用 SFTP(基础)

在客户端连接:

sftp user@server_ip

例如:

sftp zhangsan@192.168.1.100

三、限制用户只能使用 SFTP(不能登录 Shell)

1. 创建用户

sudo adduser sftpuser

2. 修改 SSH 配置

编辑:

sudo nano /etc/ssh/sshd_config

在文件末尾添加:

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

3. 设置目录权限(非常重要)

sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpuser /home/sftpuser/upload

4. 重启 SSH

sudo systemctl restart ssh

现在该用户:

  • ✅ 可以使用 SFTP
  • ❌ 不能 SSH 登录
  • ❌ 不能访问系统其他目录

四、防火墙(如有)

如果启用了防火墙:

sudo ufw allow ssh

或

sudo ufw allow 22/tcp

五、常见问题

SFTP 连不上?

  • SSH 是否启动
  • 防火墙是否放行 22 端口
  • 用户密码 / 密钥是否正确
  • Chroot 目录权限是否正确(必须是 root 拥有)

如果你有 特定需求(如:多个用户、只读、密钥登录、Docker、无密码),可以告诉我,我可以给你定制配置。

0 踩