This is working code from a production system to do file transfers
jsch = new JSch();
JSch.setConfig("StrictHostKeyChecking", "no");
session = jsch.getSession(userID, host, port);
if (useKey) {
jsch.addIdentity(keyFile, keyFilePassword);
} else {
session.setPassword(password);
}
session.connect();
sftpChannel = (ChannelSftp)session.openChannel("sftp");
sftpChannel.connect();
Rich
On 3/6/13 9:57 AM, "Don Campbell" <[email protected]> wrote:
>Hi,
>
>I've tried different permutations of connecting first, then opening the
>channel;
>and the reverse. And some other modifications, but cannot get rid of the
>'session is down' message.
>
>This happens whether I run it in Windows, or Linux. I confirmed that the
>host
>is available, with the given parameters.
>
>In the code below, the error happens at the
>
> chn_RezLife = session.openChannel( "exec" );
>
>
>or
>
> chn_RezLife = session.openChannel( "shell" );
>
>
>statement.
>
>
>Here's the code, watered-down:
>
>import com.jcraft.jsch.*;
>
>import java.io.FileInputStream;
>
>
>public class FileTransferSFTP {
>
> public static void main(String[] args) throws Exception {
>
> FileTransferSFTP sendftp = new FileTransferSFTP();
>
> sendftp.SendSFTP();
>
> }
>
> public void SendSFTP()
> {
> String sUserName = "cwhatthe";
> String sPassword = "97whyyou";
> int nPort = 22;
> String sKnownHostsFileName = "blahblah.blah.com";
> String sSourcePath = "";
> String sDestinationPath = "";
> JSch jsch = new JSch();
> Session session;
> FileInputStream fis_employeeList = null;
> Channel chn_WhatThe = null;
> String sSendCommand = "";
>
>
>
> try
> {
> session = jsch.getSession( sUserName, sKnownHostsFileName,
>nPort );
> session.setPassword((sPassword));
> sSourcePath = "employeeList.csv";
> System.out.println( "Set sSourcePath" );
> // sDestinationPath = "/employeelists/employeeList.csv";
> sDestinationPath = "/employeeListTest.csv";
> System.out.println( "Ready to open channel" );
> // chn_WhatThe = session.openChannel( "shell" );
> chn_WhatThe = session.openChannel( "exec" );
> System.out.println( "Opened shell channel" );
> System.out.println( "Ready to connect" );
> chn_WhatThe.connect(30000);
> System.out.println( "Connected" );
> chn_WhatThe.setInputStream((null));
> chn_WhatThe.getInputStream();
>
>
> }
> catch( Exception e )
> {
> System.out.println( e );
> }
>
> }
>
>
>
>}
>
>
>
>--------------------------------------------------------------------------
>----
>Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
>Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
>endpoint security space. For insight on selecting the right partner to
>tackle endpoint security challenges, access the full report.
>http://p.sf.net/sfu/symantec-dev2dev
>_______________________________________________
>JSch-users mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/jsch-users
>
------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
endpoint security space. For insight on selecting the right partner to
tackle endpoint security challenges, access the full report.
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
JSch-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jsch-users