在 CentOS 上 SFTP 频繁断连,通常不是 SFTP 本身的问题,而是 SSH / 网络 / 配置 / 资源 引起的。下面按最常见原因 → 排查方法 → 解决办法给你梳理。
服务器端或客户端设置了空闲断开。
现象
检查
grep -Rni "ClientAlive" /etc/ssh/sshd_config
解决
ClientAliveInterval 60
ClientAliveCountMax 3
重启 SSH:
systemctl restart sshd
现象
排查
ping -c 100 server_ip
mtr server_ip
解决
SFTP 使用 internal-sftp,配置错误会断。
检查
grep sftp /etc/ssh/sshd_config
正常应为:
Subsystem sftp internal-sftp
/sbin/nologin 或 /bin/bash检查
getent passwd sftpuser
chroot 常见错误
ChrootDirectory /data/sftp
要求:
df -h
df -i
getenforce
如果是 Enforcing:
setenforce 0
或配置正确 SELinux 策略。
tail -f /var/log/secure
断线瞬间立刻看报错
ssh user@ip
SSH 断 = 不是 SFTP 问题
sftp -v user@ip
/var/log/secure)我可以一步一步帮你定位到具体配置项。