温馨提示×

centos sftp掉线啥原因

小樊
56
2026-10-14 18:47:26
栏目: 智能运维

CentOS 上 SFTP 掉线(连接中断) 常见原因可以分为 网络、服务端配置、客户端、系统资源 几类,下面按“最常见 → 较少见”给你梳理,并给出排查方法。


一、最常见原因

1. SSH / SFTP 空闲超时(非常常见)

SFTP 基于 SSH,如果长时间无操作,会被自动断开。

相关参数(/etc/ssh/sshd_config):

ClientAliveInterval 0
ClientAliveCountMax 0

如果为 0,表示不发送保活包。

✅ 解决:

ClientAliveInterval 60
ClientAliveCountMax 3

改完重启:

systemctl restart sshd

2. 网络不稳定 / 防火墙断连

  • 中间有防火墙、NAT、负载均衡
  • 空闲连接被防火墙清掉(尤其云环境)

✅ 排查:

ping sftp_server
mtr sftp_server

✅ 客户端可加保活:

sftp -o ServerAliveInterval=60 user@host

3. 使用 SFTP 子系统异常(sshd 配置问题)

检查:

Subsystem sftp internal-sftp

或

Subsystem sftp /usr/libexec/openssh/sftp-server

路径错误会导致连接后立即断开。


二、服务端资源 & 权限问题

4. 用户家目录或权限错误

SFTP 用户目录权限必须严格:

chown root:root /home/sftpuser
chmod 755 /home/sftpuser

否则可能一登录就掉。


5. SELinux 限制

CentOS 默认开启 SELinux。

查看:

getenforce

临时关闭测试:

setenforce 0

若不再掉线,需要配置 SELinux 策略。


6. 磁盘满 / inode 满

df -h
df -i

磁盘满会导致 SFTP 直接断开。


三、客户端原因

7. 客户端超时设置

FileZilla / WinSCP / 脚本:

  • 设置“发送保活”
  • 或降低超时时间误判

8. 并发 / 多线程上传异常

某些客户端多线程传大文件时:

  • 服务端 MaxSessions 限制
  • 内存不足被 OOM

检查:

dmesg | grep oom

四、日志是关键(最重要)

服务端日志

journalctl -u sshd -f

或

tail -f /var/log/secure

掉线瞬间看日志,基本能定位。


五、快速自查清单 ✅

  • [ ] 是否空闲断线 → 加 ClientAlive
  • [ ] 是否云服务器 / NAT → 加保活
  • [ ] 是否一登录就断 → 检查 sftp 子系统 & 权限
  • [ ] 是否传文件时断 → 检查磁盘 / 内存
  • [ ] 看 /var/log/secure

如果你方便,可以贴一下:

  • CentOS 版本
  • 是否云服务器
  • 掉线是在登录时还是传输中
  • /var/log/secure 里的报错

我可以帮你精准定位。

0 踩