以下是Debian上配置SFTP故障排除的关键步骤:
检查SSH服务状态
sudo systemctl status sshd
若未运行,启动服务:
sudo systemctl start sshd
验证SFTP配置文件
编辑 /etc/ssh/sshd_config,确保以下配置正确:
Subsystem sftp internal-sftp # 或 /usr/lib/openssh/sftp-server
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
修改后重启服务:
sudo systemctl restart sshd
检查防火墙设置
ufw:sudo ufw allow 22/tcp
sudo ufw reload
firewalld:sudo firewall-cmd --add-port=22/tcp --permanent
sudo firewall-cmd --reload
排查用户权限与目录
sftpusers组(若配置了专用组):sudo usermod -aG sftpusers username
755,且属主为用户名):sudo chown username:username /home/username
sudo chmod 755 /home/username
查看日志定位问题
sudo tail -f /var/log/auth.log
sudo journalctl -u sshd
日志中可获取连接失败、权限错误等具体原因。
测试网络连通性
ping测试服务器可达性,telnet测试端口是否开放:ping server_ip
telnet server_ip 22
处理特殊场景
ChrootDirectory,确保目录存在且权限为755,属主为root。/etc/ssh/sshd_config中设置Ciphers)。提示:修改配置前建议备份原始文件,操作后通过sudo systemctl restart sshd重启服务生效。若问题仍存在,根据日志中的具体错误信息进一步排查。