1. 检查SSH服务状态
SFTP基于SSH协议运行,若SSH服务未启动,SFTP连接必然失败。使用以下命令确认SSH服务状态:
sudo systemctl status sshd
若服务未运行,启动服务并设置开机自启:
sudo systemctl start sshd
sudo systemctl enable sshd
若启动失败,需通过journalctl -xeu sshd.service查看详细日志定位原因(如端口冲突、配置错误等)。
2. 验证SFTP配置文件语法与参数
SFTP的核心配置位于/etc/ssh/sshd_config,需重点检查以下内容:
- Subsystem配置:确保SFTP子系统设置正确(两种方式任选其一):
Subsystem sftp /usr/libexec/openssh/sftp-server # 传统方式 # 或 Subsystem sftp internal-sftp # 推荐(内置SFTP,无需额外进程) - 语法检查:修改配置文件后,使用
sshd -t命令测试语法是否正确(无输出则表示正常):sudo sshd -t
若语法有误,根据提示修正(如无效参数、未闭合引号等),再重启SSH服务:
sudo systemctl restart sshd
```。
### **3. 检查防火墙设置**
CentOS默认使用`firewalld`管理防火墙,需确保放行SSH/SFTP端口(默认22):
```bash
# 查看防火墙状态
sudo systemctl status firewalld
# 放行SSH端口(若未放行)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
若使用iptables,需添加对应规则:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo service iptables save
```。
### **4. 查看系统日志定位具体错误**
日志是排查连接问题的关键,通过`/var/log/secure`(CentOS 7及以下)或`journalctl`查看SSH相关日志:
```bash
# 实时查看SSH日志
sudo tail -f /var/log/secure
# 或使用journalctl过滤SSH日志
sudo journalctl -u sshd -xe
日志中会明确提示连接失败的原因(如“Permission denied”“Connection refused”“Invalid configuration”等),根据提示针对性解决。
5. 确认用户权限与目录配置
- 家目录权限:SFTP用户的家目录需归属正确(通常为root所有),且权限设置为755:
sudo chown root:root /home/username sudo chmod 755 /home/username - SELinux限制:若SELinux处于
Enforcing模式,需调整策略允许SFTP访问:# 临时设置为Permissive模式测试 sudo setenforce 0 # 若问题解决,永久修改SELinux配置 sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config - 用户组限制:若配置文件中设置了
AllowGroups或DenyGroups,需确保用户属于允许的组:AllowGroups sftpusers # 示例:仅允许sftpusers组的用户登录 ```。
6. 测试网络与端口连通性
- 网络连通性:使用
ping命令测试服务器IP是否可达:ping server_ip - 端口开放性:使用
telnet或nc命令测试22端口是否开放:telnet server_ip 22 # 或 nc -zv server_ip 22
若端口不通,需检查防火墙、路由器或云服务器安全组设置。
7. 检查连接数与资源限制
- 连接数限制:查看
/etc/ssh/sshd_config中的MaxStartups参数(默认10:30:100,表示允许最多10个并发未认证连接,30%的并发认证连接,最多100个总连接),若连接数超过限制,修改参数并重启SSH:MaxStartups 10000 # 放宽限制 - 系统资源:使用
top或htop命令检查服务器内存、CPU使用率,若资源耗尽,需优化系统或升级配置。
8. 验证客户端配置
确保客户端使用的用户名、密码正确,且未启用“仅公钥认证”(若客户端配置了PasswordAuthentication no,需改为yes)。此外,检查客户端防火墙是否阻止了SFTP连接。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1422621.html