以下是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
重启服务生效。若问题仍存在,根据日志中的具体错误信息进一步排查。