private Expect4j getExpect(){
try{
this.closeShell();
log.debug(String.format("Start logging to %s@%s:%s", userName,ip,port));
JSch jsch =new JSch();
session = jsch.getSession(userName,ip,port);
session.setPassword(password);
/*Hashtable config = new Hashtable();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);*/
Properties sshConfig = new Properties();
sshConfig.put("StrictHostKeyChecking", "no");
session.setConfig(sshConfig);
localUserInfo localUserInfo = new localUserInfo();
session.setUserInfo(localUserInfo);
session.connect();
以上是部分代码片段。 因公司要求 要写一个java连接FTP完成多个服务器之间分发资源的服务,(系统背景是linux) 运行期间 跑到session.connect()时会停大概十分钟,,,,然后抛出com.jcraft.jsch.JSchException: connection is closed by foreign host异常, 因为第一次写这个程序,所以我只明白大概思路,但代码部分不是很懂。到网上找了很多 发现大致都是一样的, 获得session。 setpassword(),setConfig() 最后打开连接。。 可依然不行。。。 有说是最大连接数 或者连接超时时间设置问题导致。可问同事 却说没有这方面的问题。 一时犯了难。 还请大神指教, 第一次发帖 没有金币。 sorry....
我也是遇到了这个问题,网上查了一圈,好像是因为jsch是支持sftp的,明天我去公司试试别的依赖包