Hi,

I purchased Rebex SFTP almost two years ago and used it to build a system (.net/c#) part of which posts XML messages to an external SFTP site. As of spring 2010 when the project was put on hold, it was working just fine.

Now we have re-started the project and in testing the SFTP component, I find it no longer works. Nothing changed other than some literals used in the XML file contents and re-compiling to make a new .exe.

When I try to post a file, I get the message "Connection has been closed by the remote connection end; disconnected by application.". The file is posted, but it is empty, i.e. 0 KB. My local copy of the file is 20-25 KB. Using the same credentials, I can post the same file manually using Bitvise SFTP without issue.

I read through your forums and found the suggestion about debug logging, which I added. The debug log appears below. (I check if the file already exists before posting, which is the "no such file" message) Since this component was already tested nearly two years ago, I didn't anticipate any problems.... but I'm now in a bind since we are going live in just a couple of days. Help!!

Thanks in advance,
- Doug

DEBUG LOG:
2011-12-09 18:32:24.876 Opening log file.
2011-12-09 18:33:01.299 Opening log file.
2011-12-09 18:33:01.518 INFO Sftp(1) Info: Connecting to sftp.TARGETSITE.com:22 using Sftp 2.0.3588.0.
2011-12-09 18:33:01.784 DEBUG Sftp(1) SSH: Server is 'SSH-2.0-1.82 sshlib: sshlibSrSshServer 1.00'.
2011-12-09 18:33:01.799 DEBUG Sftp(1) SSH: Negotiation started.
2011-12-09 18:33:01.940 DEBUG Sftp(1) SSH: Group exchange.
2011-12-09 18:33:02.190 DEBUG Sftp(1) SSH: Negotiating key.
2011-12-09 18:33:02.346 DEBUG Sftp(1) SSH: Validating signature.
2011-12-09 18:33:02.377 DEBUG Sftp(1) SSH: Negotiation finished.
2011-12-09 18:33:02.377 INFO Sftp(1) Info: Server: SSH-2.0-1.82 sshlib: sshlibSrSshServer 1.00
2011-12-09 18:33:02.377 INFO Sftp(1) Info: Fingerprint: c7:b3:c2:cd:17:d0:d6:86:88:11:d4:06:ee:22:d4:64
2011-12-09 18:33:02.377 INFO Sftp(1) Info: Cipher info: SSH 2.0, DiffieHellmanGroupExchangeSHA1, DSS, 256bit AES/256bit AES, SHA1/SHA1, ZLIB/ZLIB
2011-12-09 18:33:02.737 DEBUG Sftp(1) SSH: Allowed authentication methods: publickey, password.
2011-12-09 18:33:02.737 DEBUG Sftp(1) SSH: Trying password authentication.
2011-12-09 18:33:02.862 DEBUG Sftp(1) SSH: Authentication successful.
2011-12-09 18:33:02.909 DEBUG Sftp(1) SSH: Requesting subsystem 'sftp'.
2011-12-09 18:33:02.971 INFO Sftp(1) Command: SSH_FXP_INIT (4)
2011-12-09 18:33:03.018 INFO Sftp(1) Response: SSH_FXP_VERSION (3, 0 extensions)
2011-12-09 18:33:03.018 INFO Sftp(1) Info: Using SFTP v3.
2011-12-09 18:33:03.018 INFO Sftp(1) Command: SSH_FXP_REALPATH (1, '.')
2011-12-09 18:33:03.081 INFO Sftp(1) Response: SSH_FXP_NAME (1, 1 item)
2011-12-09 18:33:03.081 INFO Sftp(1) Info: Current directory is '/'.
2011-12-09 18:33:03.081 INFO Sftp(1) Command: SSH_FXP_STAT (2, '/Orders/1683129.xml')
2011-12-09 18:33:03.127 INFO Sftp(1) Response: SSH_FXP_STATUS (2, 2, 'No such file.')
2011-12-09 18:33:03.143 INFO Sftp(1) Command: SSH_FXP_OPEN (3, '/Orders/1683129.xml', 26)
2011-12-09 18:33:03.190 INFO Sftp(1) Response: SSH_FXP_HANDLE (3, 0x3035666662326338)
2011-12-09 18:33:03.268 ERROR Sftp(1) SSH: Rebex.Net.SshException: Connection has been closed by the remote connection end; disconnected by application. .
at Rebex.Net.SshSession.1758130641(Byte[] , Int32 , Int32 )
at Rebex.Net.SshSession.3844343009(Byte[] , Int32 , Int32 )
at Rebex.Net.SshSession.15774055219(Int64& , Boolean )
at Rebex.Net.SshChannel.179601841(Boolean )
at Rebex.Net.SshChannel.Send(Byte[] buffer, Int32 offset, Int32 count)
2011-12-09 18:33:03.268 ERROR Sftp(1) SSH: Rebex.Net.SshException: The channel has been closed.
at Rebex.Net.SshChannel.179601841(Boolean )
at Rebex.Net.SshChannel.Send(Byte[] buffer, Int32 offset, Int32 count)
2011-12-09 18:33:03.284 ERROR Sftp(1) Info: Rebex.Net.SshException: Connection has been closed by the remote connection end; disconnected by application. .
at Rebex.Net.SshSession.1758130641(Byte[] , Int32 , Int32 )
at Rebex.Net.SshSession.3844343009(Byte[] , Int32 , Int32 )
at Rebex.Net.SshSession.15774055219(Int64& , Boolean )
at Rebex.Net.SshChannel.179601841(Boolean )
at Rebex.Net.SshChannel.Send(Byte[] buffer, Int32 offset, Int32 count)
at 328075837.610525840.1685053200(11634889349 )
at 328075837.610525840.1685053200(11634889349 , UInt32 )
at Rebex.Net.Sftp.1755417992(647307492 , Object , String , Stream , Int64 , Int64 )

asked 13 Sep '11, 01:05

dougFromMaine's gravatar image

dougFromMaine
15
accept rate: 0%

edited 13 Sep '11, 01:06


This looks like a known bug in ZLIB compression routine of Rebex SFTP v2.0.3588.0 that causes connection failures when uploading data to servers based on sshlib library (such as Bitvise or GlobalScape).

A quick workaround is disabling data compression, as described in the SFTP tutorial (no need to specify any of the other parameters).

(This bug has been fixed in Rebex SFTP v2.0.3793.0.)

link

answered 13 Sep '11, 14:24

Lukas%20Pokorny's gravatar image

Lukas Pokorny ♦♦
2.4k28
accept rate: 31%

Thank you Lukas - that solved the problem!

After reviewing the example in your tutorial, it took about 30 seconds to add the code (in bold) below:

private SshParameters SshPAR = new SshParameters();

myObj.Connect(myApp.config.Default.FTPSite, 22, SshPAR);

  • Doug
link

answered 13 Sep '11, 18:39

dougFromMaine's gravatar image

dougFromMaine
15
accept rate: 0%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×141

Asked: 13 Sep '11, 01:05

Seen: 366 times

Last updated: 13 Sep '11, 18:39