centos

centos sftp如何排查故障

小樊
40
2025-08-16 17:22:46
栏目: 智能运维

以下是CentOS SFTP故障排查步骤:

  1. 检查服务状态:确认SSH服务(SFTP依赖服务)是否运行,未运行则启动:

    sudo systemctl status sshd  
    sudo systemctl start sshd  # 若未运行  
    
  2. 检查防火墙设置:确保防火墙允许SFTP默认端口22:

    sudo firewall-cmd --list-all  # 查看规则  
    sudo firewall-cmd --permanent --add-service=ssh  # 允许SSH(含SFTP)  
    sudo firewall-cmd --reload  
    
  3. 检查配置文件:确认/etc/ssh/sshd_config中SFTP子系统配置正确且未被注释:

    sudo vi /etc/ssh/sshd_config  
    # 确保以下行存在且未被注释  
    Subsystem sftp /usr/libexec/openssh/sftp-server  
    

    修改后重启服务:

    sudo systemctl restart sshd  
    
  4. 查看日志文件:通过/var/log/secure/var/log/auth.log排查错误信息:

    sudo tail -f /var/log/secure  
    
  5. 检查网络连接:测试服务器网络连通性和端口开放情况:

    ping [服务器IP]  
    telnet [服务器IP] 22  # 若端口被占用需修改配置  
    
  6. 验证用户权限

    • 确认用户名、密码正确,检查密码有效期:
      sudo chage -l [用户名]  
      sudo chage -M 90 [用户名]  # 设置密码有效期(如90天)  
      
    • 检查用户家目录及文件权限:
      ls -ld /home/[用户名]  # 确保目录权限正确(如755)  
      
  7. 检查SELinux和AppArmor

    • 临时关闭SELinux测试是否为策略限制:
      sudo setenforce 0  
      
      若问题解决,需调整SELinux策略(如chcon修改安全上下文)。
    • 检查AppArmor状态(若启用):
      sudo apparmor_status  
      
  8. 检查连接数和资源

    • 查看连接数限制,修改为无限制(如需):
      sudo sed -i 's/^#MaxStartups.*/MaxStartups 10000/' /etc/ssh/sshd_config  
      sudo systemctl restart sshd  
      
    • 使用top命令检查服务器资源(CPU、内存、负载)是否超载。

常见问题及解决

若以上步骤无法解决,建议查看详细日志或联系专业支持。

0
看了该问题的人还看了