Thanks for your help Andre!

Here is my code :

        JSch jsch = new JSch();
        Session session = jsch.getSession("mylogin","B",22);
        UserInfo ui = new MyUserInfo();
        session.setUserInfo(ui);
        session.connect();

        // Setup port forwarding
        int assinged_port = session.setPortForwardingL(0,"C",22);

        // Connecting to remote system through port forwarding...
        Session session2 = jsch.getSession("mylogin","127.0.0.1
",assinged_port);
        session2.setUserInfo(ui);
        session2.connect();

        // We are now connected to system C (through B).
        // Lets run a command on system C
        Channel channel = session2.openChannel("exec");
        ((ChannelExec) channel).setCommand("ls -l");
        channel.connect();

        channel.setInputStream(System.in);
        channel.setOutputStream(System.out);

and here is the error raised on session2.connect() :

com.jcraft.jsch.JSchException: invalid server's version
stringcom.jcraft.jsch.JSchException: invalid server's version string

    at com.jcraft.jsch.Session.connect(Session.java:256)
    at com.jcraft.jsch.Session.connect(Session.java:149)
    at UserAuthKI.main(UserAuthKI.java:30)

Perhaps it's because C is only reachable through B?


2008/4/14, Andre Charbonneau <[EMAIL PROTECTED]>:
>
> Hello,
> Supposing we have 3 systems, A, B and C, here is how I do it in my
> application:
>
>      JSch jsch = new JSch();
>        session = jsch.getSession(
>          "<username on system B>",
>          "<hostname of system B>",
>          "<ssh port on system B>");
>        UserInfo ui = MyUserInfo();
>        session.setUserInfo(ui);
>        session.connect();
>
>        // Setup port forwarding
>        int assinged_port = session.setPortForwardingL(
>          0,
>          <hostname of system C>,
>          <ssh port on system C>);
>
>        // Connecting to remote system through port forwarding...
>        Session session2 = jsch.getSession(
>          <username on system C>,
>          "127.0.0.1",
>          assinged_port);
>        session2.setUserInfo(ui);
>        session2.connect();
>
>        // We are now connected to system C (through B).
>        // Lets run a command on system C
>        Channel channel = session2.openChannel("exec");
>        ((ChannelExec) channel).setCommand(<command to run on C>);
>        channel.connect();
>
>
>
> Hope this helps,
>
>        Andre
>
>
> Antoine B wrote:
>
> > Hello,
> > What I want to do is simple :
> > I want to connect on a server 'serv1', then with that connection opened
> > I
> > want to connect on a server 'serv2'. After that, I want to execute a
> > script
> > located on serv2.
> > I want to do it automatically, without user's interaction (the users
> > don't
> > need to write in a shell for example).
> > 'serv2' is only accessible from 'serv1' (no direct connnection is
> > allowed).
> > Is it possible with jsch?
> > For the moment, I can open a connection on serv1, but the user had to
> > type
> > "ssh serv2" on the opened shell.
> > Thanks and sorry for my english.
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't
> > miss this year's exciting event. There's still time to save $100. Use
> > priority code J8TL2D2.
> > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > JSch-users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/jsch-users
> >
>
>
> --
> Andre Charbonneau
> Research Computing Support, IMSB
> National Research Council Canada
> 100 Sussex Drive, Rm 2025
> Ottawa, ON, Canada K1A 0R6
> 613 993-3129
>
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
JSch-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jsch-users

Reply via email to