解决 FileZilla 20秒连接超时问题. (SSH + sftp协议)

使用sftp客户端工具连接sftp服务器时,闲置一段时间后,再使用就会等很久然后报一个错误:

错误: Network error: Software caused connection abort
错误: 读取目录列表失败

。然后从服务器断开,重新连接。响应速度相比重新建立连接要慢很多。如果频繁使用的sftp连接,出现这种问题就会很头疼。

解决办法

vi /etc/ssh/sshd_config

找到 TCPKeepAlive yes把前面的#去掉

找到ClientAliveInterval 参数去掉前面的#,  把后面的0改成60,即 ClientAliveInterval 60 。

ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0,不发送。而ClientAliveInterval 60表示每分钟发送一次,然后客户端响应,这样就保持长连接了。这里比较怪的地方是:不是客户端主动发起保持连接的请求(如FTerm, CTerm等),而是需要服务器先主动。

另外,至于ClientAliveCountMax,使用默认值3即可。ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值,就自动断开,正常情况下,客户端不会不响应。

最后,重启sshd服务 。linux各版本重启命令可能不同。centos6.5命令为service sshd restart。centos7重启sshd服务命令为 systemctl restart sshd.service。

[解决方案]
第一步: 修改/etc/ssh/sshd_config文件中的Subsystem sftp /usr/libexec/openssh/sftp-server 改为 Subsystem sftp internal-sftp.
第二步: 设置FileZilla的连接超时时间为99秒.
————————————————
版权声明:本文为CSDN博主「我不是代码教父」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Code_GodFather/article/details/82744357

上一篇:配置yum仓库的三种方法光盘镜像、nginx、sftp


下一篇:Python模块学习 - Paramiko