we are currently working with a cloud product that uses JSCH internally to connect to external sftp sources. Im investigating an connection reset exception that we are getting when trying to connect to azure sftp.
Using wireshark i determined that the problem occurs after jsch initializes the client: key exchange. Establishing the same connection with filezilla we dont have this issue.
comparing the packages from jsch and filezilla i didn't see an obivious issues, jsch has azure supported algorithms in the key exchange request at least it looks like it to me but im not an expert on the ssh protocol. Im gonna post both requests below if somebody could give me any pointers it would be greatly appreciated.
jsch request that leads to azure closing the connection:
filezilla request that works:
jsch log output:
INFO: Connecting to ***** port 22 INFO: Connection established INFO: Remote version string: SSH-2.0-AzureSSH_1.0.0 INFO: Local version string: SSH-2.0-JSCH-0.1.54 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,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 INFO: CheckSignatures: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 INFO: SSH_MSG_KEXINIT sent INFO: Disconnecting from **** port 22 com.jcraft.jsch.JSchException: Session.connect: java.net.SocketException: Connection reset