[ 
https://issues.apache.org/jira/browse/SSHD-614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15085783#comment-15085783
 ] 

Oliver Stöneberg commented on SSHD-614:
---------------------------------------

I think I figured out what the issue is. The problem is that no commands are 
available on the target system (I didn't set it up) so when it tries to run 
"scp -p -t -- /tmp/XXXXX_script.sh" it will fail since "scp" is not available 
on the system. Using pscp you are actually getting the same error as I do with 
the library:

sh: scp: not found
Fatal: Received unexpected end-of-file from server

The only thing missing is the error by sh that it didn't find the command.

So removing the scp command from the target system would do the trick to 
reproduce this "issue".

> SCP upload fails with dropbear server (aka server with paket size limitation)
> -----------------------------------------------------------------------------
>
>                 Key: SSHD-614
>                 URL: https://issues.apache.org/jira/browse/SSHD-614
>             Project: MINA SSHD
>          Issue Type: Bug
>            Reporter: Oliver Stöneberg
>            Priority: Minor
>         Attachments: dropbear_not_working.log, openssh_working.log, 
> scp_vvv.log
>
>
> When trying to upload a file via SCP to a server running dropbear I get the 
> following error:
> java.io.EOFException: readAck - EOF before ACK -  
> at org.apache.sshd.common.scp.ScpHelper.readAck() in ScpHelper.java:703. 
> at org.apache.sshd.common.scp.ScpHelper.sendStream() in ScpHelper.java:539. 
> at org.apache.sshd.client.scp.DefaultScpClient.upload() in 
> DefaultScpClient.java:104. 
> at org.apache.sshd.client.scp.AbstractScpClient.upload() in 
> AbstractScpClient.java:201. 
> The main difference between dropbear and OpenSSH I have encountered is that 
> dropbear has a paket size limitation in place by default. That's the reason 
> in the first place why I even need to upload files via SCP since using trying 
> to execute bigger scripts via an exec channel it will fail. I attached logs 
> from the system that fails and another system. The main difference seems to 
> be this:
> working (OpenSSH):
> DEBUG [sshd-SshClient[51a8313b]-nio2-thread-9] 
> (AbstractConnectionService.java:236) 
> channelOpenConfirmation(ChannelExec[id=0, 
> recipient=-1]-ClientSessionImpl[ssht...@xxxxxxxxx.xxxx.xxx/XX.XX.XX.XXX:22]) 
> Received SSH_MSG_CHANNEL_OPEN_CONFIRMATION recipient=
> DEBUG [sshd-SshClient[51a8313b]-nio2-thread-9] (AbstractChannel.java:121) 
> setRecipient(ChannelExec[id=0, 
> recipient=-1]-ClientSessionImpl[ssht...@xxxxxxxxx.xxxx.xxx/XX.XX.XX.XXX:22]) 
> recipient=0
> DEBUG [sshd-SshClient[51a8313b]-nio2-thread-9] (Window.java:122) 
> init(ChannelExec[id=0, 
> recipient=0]-ClientSessionImpl[ssht...@xxxxxxxxx.xxxx.xxx/XX.XX.XX.XXX:22]: 
> client remote window) size=0, max.=0, packet=32768
> DEBUG [sshd-SshClient[51a8313b]-nio2-thread-9] (ChannelExec.java:47) 
> doOpen(ChannelExec[id=0, 
> recipient=0]-ClientSessionImpl[ssht...@xxxxxxxxx.xxxx.xxx/XX.XX.XX.XXX:22]) 
> send SSH_MSG_CHANNEL_REQUEST exec command=scp -p -t -- /tmp/XXXXX_script.sh
> not working (dropbear):
> DEBUG [sshd-SshClient[11389053]-nio2-thread-7] 
> (AbstractConnectionService.java:236) 
> channelOpenConfirmation(ChannelExec[id=0, 
> recipient=-1]-ClientSessionImpl[test@/XX.XX.XX.XXX:44]) Received 
> SSH_MSG_CHANNEL_OPEN_CONFIRMATION recipient=
> DEBUG [sshd-SshClient[11389053]-nio2-thread-7] (AbstractChannel.java:121) 
> setRecipient(ChannelExec[id=0, 
> recipient=-1]-ClientSessionImpl[test@/XX.XX.XX.XXX:44]) recipient=0
> DEBUG [sshd-SshClient[11389053]-nio2-thread-7] (Window.java:122) 
> init(ChannelExec[id=0, recipient=0]-ClientSessionImpl[test@/XX.XX.XX.XXX:44]: 
> client remote window) size=24576, max.=24576, packet=32759
> DEBUG [sshd-SshClient[11389053]-nio2-thread-7] (ChannelExec.java:47) 
> doOpen(ChannelExec[id=0, 
> recipient=0]-ClientSessionImpl[test@/XX.XX.XX.XXX:44]) send 
> SSH_MSG_CHANNEL_REQUEST exec command=scp -p -t -- /tmp/XXXXX_script.sh
> As you can see that's a min/max set for the not working dropbear.
> There's also two typos in this log message (the additional whitespace at 
> "client local" and the period at "max":
> DEBUG [forceDeviceActionAsync] (Window.java:122) init(ChannelExec[id=0, 
> recipient=-1]-ClientSessionImpl[test@/10.48.43.214:44]: client local  window) 
> size=2097152, max.=2097152, packet=32768
> I am using the latest version of master.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to