温馨提示×

debian sftp怎样开启服务

小樊
34
2026-10-27 02:31:14
栏目: 智能运维

在 Debian 上开启 SFTP 服务,其实 SFTP 是基于 SSH 的,所以一般不需要单独安装“SFTP 服务”,只要 SSH 服务正常运行即可。

下面按常见情况说明:


一、确认并开启 SSH(SFTP 依赖 SSH)

1. 安装 OpenSSH Server(如未安装)

sudo apt update
sudo apt install openssh-server

2. 启动并设置开机自启

sudo systemctl start ssh
sudo systemctl enable ssh

3. 检查状态

sudo systemctl status ssh

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


二、测试 SFTP 是否可用

在客户端执行:

sftp 用户名@服务器IP

例如:

sftp user@192.168.1.100

如果默认 22 端口被修改:

sftp -P 2222 user@192.168.1.100

三、防火墙放行(如有)

UFW 示例:

sudo ufw allow 22/tcp
sudo ufw enable

四、仅允许 SFTP(禁止 SSH 登录,可选)

如果你想只允许 SFTP,不允许 shell 登录:

1. 编辑 SSH 配置

sudo nano /etc/ssh/sshd_config

2. 添加或修改:

Subsystem sftp internal-sftp

Match Group sftpusers
    ChrootDirectory /home/%u
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

3. 创建用户和组

sudo groupadd sftpusers
sudo useradd -m -g sftpusers -s /usr/sbin/nologin sftpuser
sudo passwd sftpuser

4. 设置目录权限

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

5. 重启 SSH

sudo systemctl restart ssh

五、常见问题

  • SFTP 连不上?

    • 检查 ssh 服务是否运行
    • 检查防火墙
    • 检查用户是否存在、密码是否正确
  • Debian 12 / 11 都适用

    • 命令基本一致

如果你愿意,可以告诉我:

  • 是 本地虚拟机 / 云服务器
  • 是否需要 限制用户只能 SFTP
  • 是否使用 非 22 端口

我可以给你更精确的配置。

0 踩