以下是CentOS SFTP故障排查步骤:
检查服务状态:确认SSH服务(SFTP依赖服务)是否运行,未运行则启动:
sudo systemctl status sshd
sudo systemctl start sshd # 若未运行
检查防火墙设置:确保防火墙允许SFTP默认端口22:
sudo firewall-cmd --list-all # 查看规则
sudo firewall-cmd --permanent --add-service=ssh # 允许SSH(含SFTP)
sudo firewall-cmd --reload
检查配置文件:确认/etc/ssh/sshd_config
中SFTP子系统配置正确且未被注释:
sudo vi /etc/ssh/sshd_config
# 确保以下行存在且未被注释
Subsystem sftp /usr/libexec/openssh/sftp-server
修改后重启服务:
sudo systemctl restart sshd
查看日志文件:通过/var/log/secure
或/var/log/auth.log
排查错误信息:
sudo tail -f /var/log/secure
检查网络连接:测试服务器网络连通性和端口开放情况:
ping [服务器IP]
telnet [服务器IP] 22 # 若端口被占用需修改配置
验证用户权限:
sudo chage -l [用户名]
sudo chage -M 90 [用户名] # 设置密码有效期(如90天)
ls -ld /home/[用户名] # 确保目录权限正确(如755)
检查SELinux和AppArmor:
sudo setenforce 0
若问题解决,需调整SELinux策略(如chcon
修改安全上下文)。sudo apparmor_status
检查连接数和资源:
sudo sed -i 's/^#MaxStartups.*/MaxStartups 10000/' /etc/ssh/sshd_config
sudo systemctl restart sshd
top
命令检查服务器资源(CPU、内存、负载)是否超载。常见问题及解决:
若以上步骤无法解决,建议查看详细日志或联系专业支持。