并发下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的主要内容,如果未能解决你的问题,请参考以下文章

MySQL连接报错

解决shell连接报错22端口问题

windows远程连接报错--“发生身份验证错误。要求的函数不受支持”

远程连接报错

12月12 mysql连接报错

ssh连接报错解决