sftp fails with 'message too long' error

Check your .bashrc and .bash_profile on the server, remove anything that can echo. For now, comment the lines out.

Try again. You should not be seeing this message again.


I got that error too, during and sftp get call in a bash script.

And according to the TO's error message, which was similar to mine, it looks like the -B option of the sftp command was set. Although a buffer size of 1349281116 bytes is "a bit" too high.

In my case I also did set the buffer size explicitly (with "good intentions"), which cause the same error message, followed by my set value.

Removing the forced value and letting sftp run with the default of 32K solved the problem to me.

-B buffer_size
         Specify the size of the buffer that sftp uses when transferring
         files. Larger buffers require fewer round trips at the cost of 
         higher memory consumption. The default is 32768 bytes.

In case it confirms to be the same issue, that whould suite as client side solution.


put following into the top of file ~/.bashrc on username of id on remote machine

# If not running interactively, don't do anything just return early from .bashrc
[[ $- == *i* ]] || return  

this will just exit early from the .bashrc instead of sourcing entire file which you do not want when performing a scp or sftp onto that target remote machine ... depending on shell of that remote username, make this edit on ~/.bashrc or ~/.bash_profile or ~/.profile or similar