在CentOS系统上排查SFTP服务故障可以按照以下步骤进行:
检查SSH服务状态:
sudo systemctl status sshd
检查SSH服务是否正在运行。如果未运行,使用 sudo systemctl start sshd
启动服务。检查SFTP配置文件:
/etc/ssh/sshd_config
中已正确配置SFTP服务。例如,确认以下配置项的值是否为 yes
:Subsystem sftp /usr/libexec/openssh/sftp-server
Match group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo systemctl restart sshd
重启SSH服务。检查防火墙设置:
sudo systemctl status firewalld
检查防火墙状态。sudo firewall-cmd --permanent --add-port 22/tcp
sudo firewall-cmd --reload
检查日志文件:
/var/log/secure
或 /var/log/auth.log
,寻找与问题相关的错误或警告信息。检查用户权限和目录权限:
sudo mkdir /sftp
sudo chown root:root /sftp
sudo chmod 755 /sftp
.ssh
目录,并设置适当的权限:sudo mkdir /sftp/.ssh
sudo chmod 700 /sftp/.ssh
检查网络连接:
ping
命令测试网络连通性。telnet [服务器IP地址] 22
测试端口是否开放。检查SELinux和AppArmor策略:
sudo sestatus
sudo apparmor_status
检查连接数限制:
grep MaxStartups /etc/ssh/sshd_config
sudo sed -i '/#MaxStartups 10:30:100/MaxStartups 10000/g' /etc/ssh/sshd_config
sudo systemctl restart sshd
检查服务器资源:
top
命令检查系统资源使用情况,确保服务器资源充足。通过以上步骤,可以逐步排查并解决CentOS系统中的SFTP服务故障。如果问题仍然存在,建议查阅相关文档或寻求专业帮助。