當您在CentOS系統上遇到SFTP連接失敗的問題時,可以按照以下步驟進行排查和解決:
檢查SSH服務狀態:
sudo systemctl status sshd
sudo systemctl start sshd
sudo systemctl enable sshd
配置SFTP子系統:
/etc/ssh/sshd_config
中正確配置了SFTP子系統。找到以下行并取消注釋(如果存在 #
符號),或者如果不存在則添加它們:Subsystem sftp /usr/libexec/openssh/sftp-server
或者使用內部SFTP:Subsystem sftp internal-sftp
sudo systemctl restart sshd
檢查防火墻設置:
sudo firewall-cmd --permanent --add-port 22/tcp
sudo firewall-cmd --reload
檢查用戶權限和目錄權限:
sudo mkdir /sftp/sftpusers
sudo chown sftpuser:sftpuser /sftp/sftpusers
sudo chmod 755 /sftp/sftpusers
.ssh
目錄和 authorized_keys
文件:sudo mkdir /home/sftpuser/.ssh
sudo cp /etc/ssh/ssh_host_rsa_key /home/sftpuser/.ssh/authorized_keys
sudo chmod 700 /home/sftpuser/.ssh
sudo chmod 600 /home/sftpuser/.ssh/authorized_keys
sudo chown sftpuser:sftpuser /home/sftpuser/.ssh
檢查SELinux和AppArmor策略:
sudo sestatus
sudo apparmor_status
檢查日志文件:
/var/log/auth.log
或 /var/log/secure
。sudo tail -f /var/log/secure
測試SFTP連接:
通過以上步驟,您應該能夠找到并解決CentOS系統中的SFTP連接問題。如果問題仍然存在,請查閱相關文檔或尋求進一步的技術支持。