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。