当您在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连接问题。如果问题仍然存在,请查阅相关文档或寻求进一步的技术支持。