When I attempted to copy a file (of size, ) over the network using scp I get a error <file> stalled
Why does this happen? How do I resolve it?
-
I like rclone for this; I've never had any problems with it.– HatshepsutOct 19, 2017 at 23:21
-
I canceled and restarted the scp command and the problem went away for me– kilojoulesOct 14, 2018 at 19:33
4 Answers
This happens because scp
is trying to grab as much bandwidth as possible, and any delay (by a firewall, etc.) can stall it. Limiting the bandwidth (with -l option) will fix it.
For example, you might want to limit the bandwidth to 1 MB/s (= 8192 Kbits/s):
scp -l 8192 <file> <destination>
-
Thank you for your answer and the link to the source. But I think your source says that
-l 8192
means 8192 Kbit/second, and the-l
might work up to 1 Mbit/second (which seems to be a bit outdated nowadays).– elmichaNov 26, 2011 at 20:50 -
2
-
-
2Just to clarify: the example limits scp's bandwidth to 8192 Kbit/second. The source article's author suggests that this number should work fine for connections of upto 1 Mbit/second. Jan 17, 2014 at 6:38
-
1
I've managed to solve it by using rsync:
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /tmp/bigfile.txt user@host.com:/tmp/
Any chance you're behind a Cisco ASA firewall? If so, turn off "sequence number randomization" and that'll help a lot -- also disable TCP Offload (ethtool -K $INTERFACE tso off gso off gro off) if you're on a Cisco ASA with Broadcom NICs in your server.
-
That's genius. Is that change permanent or do I need to put the command somewhere? Just to be clear, you have to set that on your NIC, not on the cscotun interface.– mjaggardMay 18, 2017 at 18:54
Given the error message that we received when the scp stalled I suspected that it was the encryption that was failing. "The authenticity of host 'myserver (10.10.11.12)' can't be established. ECDSA key fingerprint is SHA256:+zkyskXlxVQ0kRorLW26pzprIYbsM4N3hbaDLz1RNpo" With that in mind I ran "scp -c aes128-ctr /tmp/test.dan/bigfile.src myserver:/tmp/bigfile". scp WAS successful with the alternate cipher. Is there an issue with the default cipher blowing a buffer space?
Might try adding "-c " with an alternate cipher and see if it resolves your stall.