温馨提示×

centos sftp断连怎么处理

小樊
43
2026-09-30 03:30:12
栏目: 智能运维

在 CentOS 上 SFTP 经常断连,一般和 SSH 配置、网络、防火墙、超时机制 有关。下面按「常见原因 → 排查 → 解决方法」给你一个实用清单。


一、最常见原因:SSH 空闲超时

现象

  • 长时间不操作就自动断开
  • 传输大文件中途断

解决(服务器端)

编辑 SSH 服务端配置:

vi /etc/ssh/sshd_config

确保或添加:

ClientAliveInterval 60
ClientAliveCountMax 3

含义:

  • 每 60 秒检测一次客户端
  • 最多 3 次无响应才断开

重启 SSH:

systemctl restart sshd

二、客户端也建议配置(防止被网络掐断)

Linux / Mac 客户端

编辑:

vi ~/.ssh/config

添加:

Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3

三、防火墙 / 安全设备导致断连

常见情况

  • 云服务器安全组
  • 公司防火墙
  • NAT 超时(尤其 SFTP 走 22 端口)

排查方式

ping 服务器IP

或

tcpdump -i eth0 port 22

建议

  • 如果是云服务器,检查 安全组是否有限制
  • 若是 NAT 环境,缩短 KeepAlive 时间(如 30 秒)

四、SFTP 子系统和 chroot 配置问题

如果你用了:

Subsystem sftp internal-sftp
Match User sftpuser
    ChrootDirectory /data/sftp

常见问题:

  • 目录权限不对 → 登录后立即断开
  • SELinux 限制

检查权限

ls -ld /data/sftp

应为:

root:root  755

查看日志

tail -f /var/log/secure

五、传输中断(大文件失败)

解决方案

  1. 使用 rsync 替代 SFTP
rsync -avz -e ssh file user@ip:/path
  1. 使用支持断点续传的工具(如 FileZilla)

六、快速排查顺序(推荐)

# 1. 看日志
tail -f /var/log/secure

# 2. 检查 sshd 配置
grep -E "ClientAlive|Subsystem" /etc/ssh/sshd_config

# 3. 测试连接稳定性
sftp user@ip

七、如果你愿意,我可以更精准帮你

你可以补充:

  • CentOS 版本(7 / 8 / Stream)
  • 是 服务器断 还是 客户端断
  • 是否用了 chroot / 普通用户
  • 日志报错内容(/var/log/secure)

我可以直接给你一份「可复制的配置文件」。

0 踩