Ulises Vázquez Rocha | 20 Feb 23:12 2015
Picon

Re: "InputStream" and "BufferedReader" or any other way to get the output of an SSH command

I realized that this objects are part of the “java.io” library and I have solved this issue.

Thank you anyway!

> On Feb 20, 2015, at 15:52, Ulises Vázquez Rocha <uvazquez <at> hotmail.com> wrote:
> 
> I am able to connecto to the SSH session, and apparently to execute commands but when I try to use the
InputStream and BuuferReader, I recive the folowgin message form NetBeans: “cannot find symbol”.
> 
> I have imported the Jsch lirary completelly: import com.jcraft.jsch.*;
> 
> What am I doing wrong? or is there other way to do it?
> 
> Java 6 in NeadBeans 8.
> 
> Regards,

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
JSch-users mailing list
JSch-users <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jsch-users
Ulises Vázquez Rocha | 20 Feb 22:52 2015
Picon

"InputStream" and "BufferedReader" or any other way to get the output of an SSH command

I am able to connecto to the SSH session, and apparently to execute commands but when I try to use the
InputStream and BuuferReader, I recive the folowgin message form NetBeans: “cannot find symbol”.

I have imported the Jsch lirary completelly: import com.jcraft.jsch.*;

What am I doing wrong? or is there other way to do it?

Java 6 in NeadBeans 8.

Regards,
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
JSch-users mailing list
JSch-users <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jsch-users
Matt Tucker | 20 Feb 21:29 2015
Picon

OpenSSH Server with aes192-ctr and aes256-ctr only

Hi JSch Users,

I apologize if this was sent twice, I didn't see it updated in the mailing list archives.

I'm trying to investigate an issue in an application that uses the JSch library to connect to remote SSH servers.

Using the default configuration on OpenSSH, everything works great.  By modifying the /etc/ssh/sshd_config file (adding "Ciphers aes192-ctr,aes256-ctr") and restarting the ssh service, JSch no longer is able to connect, throwing an "Algorithm negotiation fail" exception.  Connecting via the SSH client in Ubuntu, I'm still able to connect successfully, so I do not believe this to be an issue with the OpenSSH server configuration.

My testing of this issue has been using the Logger.java example on the JSch website.  In looking at the output, it appears that the aes192-ctr and aes256-ctr ciphers are not listed.  These ciphers appear to be supported according to the JSch website.

Are there additional configuration settings needed in order to enable these Cipher options?

Server:
Virtualbox 4.3.18
Ubuntu 14.04.2
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2, OpenSSL 1.0.1f 6 Jan 2014

Client:
Windows 7
Java 7u76 with JCE Unlimited Encryption
JSCH 0.1.51

Thank you,

Unlimited Encryption Strength? true
INFO: Connecting to 10.100.21.18 port 22
INFO: Connection established
INFO: Remote version string: SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
INFO: Local version string: SSH-2.0-JSCH-0.1.51
INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
INFO: CheckKexes: diffie-hellman-group14-sha1
INFO: diffie-hellman-group14-sha1 is not available.
INFO: SSH_MSG_KEXINIT sent
INFO: SSH_MSG_KEXINIT received
INFO: kex: server: curve25519-sha256 <at> libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
INFO: kex: server: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519
INFO: kex: server: aes192-ctr,aes256-ctr
INFO: kex: server: aes192-ctr,aes256-ctr
INFO: kex: server: hmac-md5-etm <at> openssh.com,hmac-sha1-etm <at> openssh.com,umac-64-etm <at> openssh.com,umac-128-etm <at> openssh.com,hmac-sha2-256-etm <at> openssh.com,hmac-sha2-512-etm <at> openssh.com,hmac-ripemd160-etm <at> openssh.com,hmac-sha1-96-etm <at> openssh.com,hmac-md5-96-etm <at> openssh.com,hmac-md5,hmac-sha1,umac-64 <at> openssh.com,umac-128 <at> openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160 <at> openssh.com,hmac-sha1-96,hmac-md5-96
INFO: kex: server: hmac-md5-etm <at> openssh.com,hmac-sha1-etm <at> openssh.com,umac-64-etm <at> openssh.com,umac-128-etm <at> openssh.com,hmac-sha2-256-etm <at> openssh.com,hmac-sha2-512-etm <at> openssh.com,hmac-ripemd160-etm <at> openssh.com,hmac-sha1-96-etm <at> openssh.com,hmac-md5-96-etm <at> openssh.com,hmac-md5,hmac-sha1,umac-64 <at> openssh.com,umac-128 <at> openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160 <at> openssh.com,hmac-sha1-96,hmac-md5-96
INFO: kex: server: none,zlib <at> openssh.com
INFO: kex: server: none,zlib <at> openssh.com
INFO: kex: server: 
INFO: kex: server: 
INFO: kex: client: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1
INFO: kex: client: ssh-rsa,ssh-dss
INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc
INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc
INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
INFO: kex: client: none
INFO: kex: client: none
INFO: kex: client: 
INFO: kex: client: 
INFO: Disconnecting from 10.100.21.18 port 22
com.jcraft.jsch.JSchException: Algorithm negotiation fail
Unlimited Encryption Strength? true
INFO: Connecting to 10.100.21.18 port 22
INFO: Connection established
INFO: Remote version string: SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
INFO: Local version string: SSH-2.0-JSCH-0.1.51
INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
INFO: CheckKexes: diffie-hellman-group14-sha1
INFO: diffie-hellman-group14-sha1 is not available.
INFO: SSH_MSG_KEXINIT sent
INFO: SSH_MSG_KEXINIT received
INFO: kex: server: curve25519-sha256 <at> libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
INFO: kex: server: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519
INFO: kex: server: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm <at> openssh.com,aes256-gcm <at> openssh.com,chacha20-poly1305 <at> openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc <at> lysator.liu.se
INFO: kex: server: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm <at> openssh.com,aes256-gcm <at> openssh.com,chacha20-poly1305 <at> openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc <at> lysator.liu.se
INFO: kex: server: hmac-md5-etm <at> openssh.com,hmac-sha1-etm <at> openssh.com,umac-64-etm <at> openssh.com,umac-128-etm <at> openssh.com,hmac-sha2-256-etm <at> openssh.com,hmac-sha2-512-etm <at> openssh.com,hmac-ripemd160-etm <at> openssh.com,hmac-sha1-96-etm <at> openssh.com,hmac-md5-96-etm <at> openssh.com,hmac-md5,hmac-sha1,umac-64 <at> openssh.com,umac-128 <at> openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160 <at> openssh.com,hmac-sha1-96,hmac-md5-96
INFO: kex: server: hmac-md5-etm <at> openssh.com,hmac-sha1-etm <at> openssh.com,umac-64-etm <at> openssh.com,umac-128-etm <at> openssh.com,hmac-sha2-256-etm <at> openssh.com,hmac-sha2-512-etm <at> openssh.com,hmac-ripemd160-etm <at> openssh.com,hmac-sha1-96-etm <at> openssh.com,hmac-md5-96-etm <at> openssh.com,hmac-md5,hmac-sha1,umac-64 <at> openssh.com,umac-128 <at> openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160 <at> openssh.com,hmac-sha1-96,hmac-md5-96
INFO: kex: server: none,zlib <at> openssh.com
INFO: kex: server: none,zlib <at> openssh.com
INFO: kex: server: 
INFO: kex: server: 
INFO: kex: client: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1
INFO: kex: client: ssh-rsa,ssh-dss
INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc
INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc
INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
INFO: kex: client: none
INFO: kex: client: none
INFO: kex: client: 
INFO: kex: client: 
INFO: kex: server->client aes128-ctr hmac-md5 none
INFO: kex: client->server aes128-ctr hmac-md5 none
INFO: SSH_MSG_KEXDH_INIT sent
INFO: expecting SSH_MSG_KEXDH_REPLY
INFO: ssh_rsa_verify: signature true
WARN: Permanently added '10.100.21.18' (RSA) to the list of known hosts.
INFO: SSH_MSG_NEWKEYS sent
INFO: SSH_MSG_NEWKEYS received
INFO: SSH_MSG_SERVICE_REQUEST sent
INFO: SSH_MSG_SERVICE_ACCEPT received
INFO: Authentications that can continue: publickey,keyboard-interactive,password
INFO: Next authentication method: publickey
INFO: Authentications that can continue: password
INFO: Next authentication method: password
INFO: Authentication succeeded (password).
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-45-generic x86_64)

 * Documentation:  https://help.ubuntu.com/


Last login: Thu Feb 19 10:38:39 2015 from 10.100.21.154

pentaho <at> pentaho-VirtualBox:~$ exit
exit
logout
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
JSch-users mailing list
JSch-users@...
https://lists.sourceforge.net/lists/listinfo/jsch-users
sodiska saw | 7 Feb 10:28 2015
Picon

Help on openChannel("exec")

Hi,

     I am trying to implement an apps that send multiple commands one at a time to a remote system. However, after I execute the first command, I get error. From the debug trace, the error found:

DEBUG: Caught an exception, leaving main loop due to End of IO Stream Read
DEBUG: Disconnecting from cheesoon.revenuenetwork.net port 22


Below is part of the codes. Summary of my codes is that my second command, I re-initiate channel object and re-used the session object. Is that the right way to things? I test it and its not working says session has been closed due to the above DEBUG reason. If I re-initiate the session, then its ok. Is this the right way?



//FIRST command
Session session=jsch.getSession(user, host, 22);    
session.connect();

command = "display version";
      Channel channel=session.openChannel("exec");
      ((ChannelExec)channel).setCommand(command);
     
      channel.setInputStream(null);

      ((ChannelExec)channel).setErrStream(System.err);

      InputStream in=channel.getInputStream();
      OutputStream out = channel.getOutputStream();

      String versionDesc = null;
      String outgoing = null;
      String temp = null;
      
      channel.connect();

      byte[] tmp=new byte[1024];
      while(true){
        while(in.available()>0){
          int i=in.read(tmp, 0, 1024);
          if(i<0)
         break;
          temp = new String(tmp, 0, i);
         if (versionDesc == null) {
         temp.replaceAll("^\\s+", "");
         temp.replaceAll("^(\\r\\n)+", "");
         versionDesc = temp;
         System.out.println(versionDesc);
         } else
         versionDesc += temp;
          outgoing = new String (" "); // keeps listing the config values
          out.write(outgoing.getBytes());
          out.flush();
        }
        if(channel.isClosed()){
          if(in.available()>0) continue;
          System.out.println("exit-status: "+channel.getExitStatus());
          break;
        }
        try{Thread.sleep(1000);}catch(Exception ee){}
      }
      channel.disconnect();
      //session.disconnect();

//SECOND COMMAND
command = "display current configuration";
      Channel channel=session.openChannel("exec");
      ((ChannelExec)channel).setCommand(command);
     
      channel.setInputStream(null);

      ((ChannelExec)channel).setErrStream(System.err);

      InputStream in=channel.getInputStream();
      OutputStream out = channel.getOutputStream();

      String versionDesc = null;
      String outgoing = null;
      String temp = null;
      
      channel.connect();

      byte[] tmp=new byte[1024];
      while(true){
        while(in.available()>0){
          int i=in.read(tmp, 0, 1024);
          if(i<0)
         break;
          temp = new String(tmp, 0, i);
         if (versionDesc == null) {
         temp.replaceAll("^\\s+", "");
         temp.replaceAll("^(\\r\\n)+", "");
         versionDesc = temp;
         System.out.println(versionDesc);
         } else
         versionDesc += temp;
          outgoing = new String (" "); // keeps listing the config values
          out.write(outgoing.getBytes());
          out.flush();
        }
        if(channel.isClosed()){
          if(in.available()>0) continue;
          System.out.println("exit-status: "+channel.getExitStatus());
          break;
        }
        try{Thread.sleep(1000);}catch(Exception ee){}
      }

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
JSch-users mailing list
JSch-users@...
https://lists.sourceforge.net/lists/listinfo/jsch-users
sodiska saw | 21 Jan 12:24 2015
Picon

SSH with JFrame / Applet


Hi,

     Hope someone can give some clue on what I am about to post here:

I am trying to connect to a remote SSH server, once connected, I want a JAVA GUI (JFrame comes into mind or an Applet) to take over instead of a shell. Reason is that, I only want certain commands in a drop down list and/or in a textfield to be executed by valid user. Once executed, the user will only get to see Success or Unsuccessful. How can I achieve this?
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
JSch-users mailing list
JSch-users@...
https://lists.sourceforge.net/lists/listinfo/jsch-users
Grimm, Markus | 16 Jan 14:11 2015
Picon

[sftp] strange behaviour with LsEntry/ls()-command

Hi all,

maybe someone can explain me the following behavior:

I list a directory on a server via sftp-ls-command. The LsEntry#getLongname() provides this information f.e.

-rw-r--r--    1 test  test  31728814 Sep 12 14:15 JDgrossow.13.52.01.zip

and for another entry

-rw-r--r--    1 test test     66335 Jan 23  2014 JDAGG.09.52.01.zip

The 14:15 in the first entry is the time, the 2014 in the second entry the date.
Both files are from the year 2014. Why the one entry has the time in its string-representation and the other
the year at this position.
What is the reason of this mixed representation?

Thanks,
M.G.

Vertraulichkeitshinweis
Diese Information und jeder uebermittelte Anhang beinhaltet vertrauliche Informationen und ist nur
fuer die Personen oder das Unternehmen bestimmt, an welche sie tatsaechlich gerichtet ist. Sollten Sie
nicht der Bestimmungsempfaenger sein, weisen wir Sie darauf hin, dass die Verbreitung, das (auch
teilweise) Kopieren sowie der Gebrauch der empfangenen E-Mail und der darin enthaltenen Informationen
gesetzlich verboten sein kann und gegebenenfalls Schadensersatzpflichten ausloesen kann. Sollten
Sie diese Nachricht aufgrund eines Uebermittlungsfehlers erhalten haben, bitten wir Sie den Sender
unverzueglich hiervon in Kenntnis zu setzen.
Sicherheitswarnung: Bitte beachten Sie, dass das Internet kein sicheres Kommunikationsmedium ist.
Obwohl wir im Rahmen unseres Qualitaetsmanagements und der gebotenen Sorgfalt Schritte eingeleitet
haben, um einen Computervirenbefall weitestgehend zu verhindern, koennen wir wegen der Natur des
Internets das Risiko eines Computervirenbefalls dieser E-Mail nicht ausschliessen.

------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
Li Li | 13 Jan 14:41 2015
Picon

is it possible to implement a web service that serve as a ssh client in browser?

I want to visit serverA which can only accessed by clientB from my pc
at home. I can setup a java web server(such as tomcat) on port 8080
and providing http serice which can be accessed by my pc at home. But
I can't run sshd on clientB. Is it possible to use jsch to implement
such service? I mean I write a simple jsp which read user input from
web browser and send the command to serverA, And when command finish
on severA, it read the output and write to browser.
Or more elegant, I can directly run ssh serverA with the help of
clientB through http protocol?

------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
Alan Ezust | 7 Jan 18:30 2015
Picon
Gravatar

making SSH secure again

Thought this article might be of interest.

https://stribika.github.io/2015/01/04/secure-secure-shell.html

------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
Karbas, Reinhard | 7 Jan 18:03 2015

Jsch key exchange protocols

We are using Gerrit for our code review which as of now is using jsch 0.1.50

However when we changed the recipient server for the replication to openssh 6.7p1 the replication failed
because of an error during negotiating the key exchange algorithm

Based on the changelog an additional algorithm (diffie-hellman-group-exchange-sha256) was added to jsch

I just downloaded the source files for 0.1.51 and looked at file keyExchange.java
I only see the following:

  static String kex="diffie-hellman-group1-sha1";

However based on the documentation for openssh 6.7p1 only following kex values are supported by default:

* curve25519-sha256@...
* ecdh-sha2-nistp256
* ecdh-sha2-nistp384
* ecdh-sha2-nistp521
* diffie-hellman-group-exchange-sha256
* diffie-hellman-group14-sha1

What happened to the supposed addition in version 0.1.50?

Did this get lost somewhere?

Thanks a lot

Reinhard

------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
sodiska saw | 18 Dec 12:33 2014
Picon

PassPhrase for privateKey fail

Hi,

    I have downloaded Jsch version 1.51 and started to using it to connect a remote server using private key which has passphrase. Funny thing is when I use the private key and with the passphrase via a Terminal, it works fine, but when I use a JAVA app that I wrote, it keep asking me to key in passphrase for 3 times, and then reply error message: Auth Fail.

    I am pretty sure the private key and the passphrase is correct since I have tested it in a terminal. Anyone has the same experience?



------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
JSch-users mailing list
JSch-users@...
https://lists.sourceforge.net/lists/listinfo/jsch-users
Flavio Orfano | 12 Dec 01:49 2014
Picon

SFTP RFCs

Hello Lads,

I do use JSCH(version 1.0.50) for SFTP on my application .
Running our component against a Sterling Integrator(IBM) to do a SFTP pooling is failing due to the following:

According to them when the SFTP is done with a file, their Sterling Integrator (IBM) sends a final packet and waits for a ACK from my component (which uses JSCH) but as it never get the ACK from us saying all is fine then their Sterling Integrator resend the file again and again (infinite loop).

They mention that this is according to an RFC (have to confirm with them). Doing a quick search in google I could find the RFC 1350  https://tools.ietf.org/html/rfc1350. in this RFC it mention about normal termination:

Normal Termination

The end of a transfer is marked by a DATA packet that contains between 0 and 511 bytes of data (i.e., Datagram length < 516). This packet is acknowledged by an ACK packet like all other DATA packets. The host acknowledging the final DATA packet may terminate its side of the connection on sending the final ACK. On the other hand, dallying is encouraged. This means that the host sending the final ACK will wait for a while before terminating in order to retransmit the final ACK if it has been lost. The acknowledger will know that the ACK has been lost if it receives the final DATA packet again. The host sending the last DATA must retransmit it until the packet is acknowledged or the sending host times out. If the response is an ACK, the transmission was completed successfully. If the sender of the data times out and is not prepared to retransmit any more, the transfer may still have been completed successfully, after which the acknowledger or network may have experienced a problem. It is also possible in this case that the transfer was unsuccessful. In any case, the connection has been closed.

My QUESTION IS: Do JSCH follow any RFC related to  TFTP, FTP etc? Or would it only follow the SSH RFCs? Also would any RFC for SSH have similar normal termination as described above?

So I am trying to understand if their comment makes any sense or not. I would appreciate any input here.


Cheers!

Flavio


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
JSch-users mailing list
JSch-users@...
https://lists.sourceforge.net/lists/listinfo/jsch-users

Gmane