在 CentOS 上 SFTP 经常断连,一般和 SSH 配置、网络、防火墙、超时机制 有关。下面按「常见原因 → 排查 → 解决方法」给你一个实用清单。
编辑 SSH 服务端配置:
vi /etc/ssh/sshd_config
确保或添加:
ClientAliveInterval 60
ClientAliveCountMax 3
含义:
重启 SSH:
systemctl restart sshd
编辑:
vi ~/.ssh/config
添加:
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
ping 服务器IP
或
tcpdump -i eth0 port 22
如果你用了:
Subsystem sftp internal-sftp
Match User sftpuser
ChrootDirectory /data/sftp
常见问题:
ls -ld /data/sftp
应为:
root:root 755
tail -f /var/log/secure
rsync 替代 SFTPrsync -avz -e ssh file user@ip:/path
# 1. 看日志
tail -f /var/log/secure
# 2. 检查 sshd 配置
grep -E "ClientAlive|Subsystem" /etc/ssh/sshd_config
# 3. 测试连接稳定性
sftp user@ip
你可以补充:
/var/log/secure)我可以直接给你一份「可复制的配置文件」。