阅读量:3
Debian SFTP 配置步骤
一 安装与启动 OpenSSH 服务
- 更新索引并安装服务:
- sudo apt update
- sudo apt install -y openssh-server
- 启动并设置开机自启(Debian 服务名为 ssh):
- sudo systemctl start ssh
- sudo systemctl enable ssh
- 验证状态:
- sudo systemctl status ssh
- 说明:SFTP 基于 SSH,无需额外端口,默认使用 22/TCP。
二 配置 SFTP 访问与目录权限
- 备份配置并编辑:
- sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
- sudo nano /etc/ssh/sshd_config
- 推荐做法(使用内置 SFTP 并限制为仅 SFTP):
- 在文件末尾添加或修改:
- Subsystem sftp internal-sftp
- Match Group sftpusers
- ChrootDirectory %h
- ForceCommand internal-sftp
- AllowTcpForwarding no
- X11Forwarding no
- 在文件末尾添加或修改:
- 创建 SFTP 用户组与用户:
- sudo groupadd sftpusers
- sudo adduser sftpuser(按提示设置密码)
- sudo usermod -aG sftpusers sftpuser
- 设置 Chroot 目录权限(关键):
- sudo chown root:root /home/sftpuser
- sudo chmod 755 /home/sftpuser
- 为用户创建可写目录:
- sudo mkdir -p /home/sftpuser/uploads
- sudo chown sftpuser:sftpusers /home/sftpuser/uploads
- sudo chmod 755 /home/sftpuser/uploads
- 使配置生效:
- sudo systemctl restart ssh
- 说明:
- 使用 internal-sftp 便于与 Chroot 配合;
- ChrootDirectory %h 要求该目录及其上级目录属主为 root 且权限不高于 755,否则登录会失败;
- 如需对单个用户限制,可将 Match 改为 Match User your_username。
三 防火墙与连接测试
- 防火墙放行 SSH(默认 22/TCP):
- UFW:sudo ufw allow 22/tcp && sudo ufw reload
- firewalld:sudo firewall-cmd --add-service=ssh --permanent && sudo firewall-cmd --reload
- 本机或客户端测试:
- sftp sftpuser@your_server_ip
- 登录后尝试:ls、put、get 等文件操作,确认可读写 uploads 目录。
四 常见问题与排查
- 登录失败或立即断开:
- 检查 /var/log/auth.log 中 sshd 日志;
- 常见原因:Chroot 目录不是 root:root 或权限过宽(应 ≤ 755),或用户不在 sftpusers 组。
- 权限被拒绝(写入失败):
- 确认可写目录(如 uploads)属主为相应用户,且上层 Chroot 目录对相应用户不可写。
- 端口与服务:
- SFTP 与 SSH 共用 22/TCP;确认 ssh 服务运行且未被其他程序占用端口。
- 配置语法错误导致 sshd 无法启动:
- 修改前已备份;如启动失败,执行 sudo systemctl status ssh 查看报错,或 sudo sshd -t 检查配置语法。
以上就是关于“Debian SFTP如何设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm