在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服務故障。如果問題仍然存在,建議查閱相關文檔或尋求專業幫助。