以下是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、內存、負載)是否超載。常見問題及解決:
若以上步驟無法解決,建議查看詳細日志或聯系專業支持。