2013-03-28 6 views
7

Il codice sembra interrompersi a session.connect.java.io.IOException - End of IO Stream Read

com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stream Read 

Stacktrace

com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stream Read 
    at com.jcraft.jsch.Session.connect(Session.java:534) 
    at com.jcraft.jsch.Session.connect(Session.java:162) 
    at session.connect in uploadFile(ftpService.java:280) 

Codice

try { 
    JSch jsch = new JSch(); 
    Session session = null; 
    session = jsch.getSession(ftpUserName, ftpServer, 22); 
    session.setClientVersion("StrictHostKeyChecking"); 
    //session.setConfig("StrictHostKeyChecking", "no"); 
    session.setPassword(ftpPassword); 
    session.connect(); 

    Channel channel = session.openChannel("sftp"); 
    channel.connect(); 
    ChannelSftp sftpChannel = (ChannelSftp) channel; 
    //sftpChannel.get("remotefile.txt", "localfile.txt"); 
    String path="C:\\srcFolder"; 
    String remotePath="C:\\destFolder"; 
    try { 
     sftpChannel.put(new FileInputStream(new File(path)), remotePath ); 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     Logger.error(e); 
     e.printStackTrace(); 
    } 
    final Vector files = sftpChannel.ls("."); 
    for (Object obj : files) { 
     System.out.println("f:"+obj); 
    } 
    sftpChannel.exit(); 
    session.disconnect(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

risposta

1

C'è stato un problema di interoperabilità con le versioni precedenti di JSch (ad esempio 0.1.52) e le versioni recenti di OpenSSH (ad esempio, OpenSSH_7.2p2). Il problema è andato via per me dopo l'aggiornamento a Jsch 0.1.54.