并发下sftp连接报错——com.jcraft.jsch.JSchException: connection is closed by foreign host
Posted 格格巫 MMQ!!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发下sftp连接报错——com.jcraft.jsch.JSchException: connection is closed by foreign host相关的知识,希望对你有一定的参考价值。
当对单接口极限测试时,随着并发量上升,接口稳定性出现不稳定的情况,排查后台日志,发现报错在该接口调用sftp上传时出现问题(确切的是在初始化连接时失败)
原因:系统SSH终端连接数配置过小,查看虚拟机该参数(该参数在/etc/ssh/sshd_config中配置,为MaxStartups),MaxStartups 默认设置是 10:30:100,意思是从第10个连接开始以30%的概率(递增)拒绝新连接,直到连接数达到100为止。
解决方法:
修改/etc/ssh/sshd_config中的MaxStartups,将其改为MaxStartups 1000:30:1200;修改/etc/ssh/sshd_config中的MaxSessions,将其修改为1000
重启SSH服务/etc/init.d/ssh restart
另外,系统的默认连接时间120秒,如果远程终端连接数过多,则会出现超时连接,解决办法如下:
修改/etc/ssh/sshd_config中LoginGraceTime 120,将其改为LoginGraceTime 0,其中0表示不限制连接时间。
重启SSH服务/etc/init.d/ssh restart
sudo systemctl restart sshd.service
以上是关于并发下sftp连接报错——com.jcraft.jsch.JSchException: connection is closed by foreign host的主要内容,如果未能解决你的问题,请参考以下文章