It works great - very fast. I am using it for transfer of panorama tours created with pano2vr. It typically has thousands of very small files with a total between 100MB to larger formats with more tours like 1GB or 2 GB. Upload works with full speed of my bandwidth (which is 40 Mbit/s, the transfer is around 4MByte/s.)
I have one problem as a beginner I can not solve:
When I try to upload a larger collection of folders (like 30 folders with many folders inside and finally the files) to the host, I get an error message like this. Breaking it in smaller quantities, it works as planned.
Is there a limit of number of files or folders I can upload in one action?
I'm having the same problem, and only with file transfers that have a large number of small files. The behaviour is pretty inconsistent, but once it does fail for a particular file set, fails in the same way consistently.
FATAL 02/02/20 15:46:13 SSH_SOCK Unable to send data over the SSH channel
The file "package-lock.json" is never transferred.
I've checked the logs on the remote SSH server and I do see an error around the time this happens: "Read error from remote host <ipaddress:port>: Connection reset by peer"
The specified host in this message is a reverse proxy server that sits between my client and the server.
I've updated my local copy of Acrosync to use libssh2 1.9.0 -- the latest, but the problem remains. Anything else I can try?
In an effort to find the cause of this problem throughout the chain of servers between my iOS app and the server I'm trying to sync to, I tried to run the same command on my Mac using the native rsync client. This was the command I got working:
I'm choosing to use Acrosync over SSH, and as you can see here I'm doing the rsync version of that. I'm wondering if I can replicate this in Acrosync? I can see in `rsync_client.cpp` where the rsync command is built up. But I don't see how to provide the options for the SSH part of the command.
At any rate, I'll keep looking, but this exercise resolved one important question: it seems Acrosync's implementation of rsync is the culprit in this problem. Hope you can offer some advice!
@gchen I was certain to check that, and I should've mentioned it. The proxy server logs do not show the connection closing abnormally. It's simply passing the packets through.
I wonder if this is a keepalive issue -- if the indexing of files takes too long the connection may be closed due to the keepalive value is too small. Maybe increasing the keepalive timeout in the sshd_config may help?
What kind of reverse proxy server are you running? I can try to use the same setup to reproduce it.
I just tried changing the keep alive settings on the server side:
ClientAliveInterval 300
ClientAliveCountMax 2
It didn't make any difference.
The proxy server is an instance of nginx that's acting as a reverse proxy to forward the stream from my client (running on an iPad) to the server in question. A typical configuration looks like this:
upstream testy.codewerks.app { server 10.16.200.105:41848; }
server { listen 41848; proxy_pass testy.codewerks.app; }
and of course, the SSH server is configured to listen on the indicated port.
We still have the same problem, now with MacOs BigSur: After syncing a few files acrosync always stops with "unable to send data over the ssh channel". Native Macos rsync is running without problems. Hmm, this problem should be solvable.
Comments
Perhaps this could be the solution (?):
https://www.cyberciti.biz/tips/open-ssh-server-connection-drops-out-after-few-or-n-minutes-of-inactivity.html
Server sided in /etc/ssh/sshd_config:
ClientAliveInterval 30
ClientAliveCountMax 5
Client sided in /etc/ssh/ssh_config:
ServerAliveInterval 15
ServerAliveCountMax 3
DEBUG 02/02/20 15:46:13 RSYNC_INFO INFO: send_files(4, /home/codewerks/project/tictactoe/package-lock.json)
DEBUG 02/02/20 15:46:13 RSYNC_INFO INFO: count=0 n=0 rem=0
DEBUG 02/02/20 15:46:13 RSYNC_INFO INFO: send_files mapped /home/codewerks/project/tictactoe/package-lock.json of size 581445
DEBUG 02/02/20 15:46:13 RSYNC_INFO INFO: calling match_sums /home/codewerks/project/tictactoe/package-lock.json
FATAL 02/02/20 15:46:13 SSH_SOCK Unable to send data over the SSH channel
The file "package-lock.json" is never transferred.
I've checked the logs on the remote SSH server and I do see an error around the time this happens: "Read error from remote host <ipaddress:port>: Connection reset by peer"
The specified host in this message is a reverse proxy server that sits between my client and the server.
I've updated my local copy of Acrosync to use libssh2 1.9.0 -- the latest, but the problem remains. Anything else I can try?
ServerAliveInterval 15
ServerAliveCountMax 3
Does Acrosync use ~/.ssh/ssh_config ?
sudo /usr/sbin/sshd -ddd -p 222