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?
- 2,898
-
I like rclone for this; I've never had any problems with it. – Hatshepsut Oct 19 '17 at 23:21
-
I canceled and restarted the scp command and the problem went away for me – kilojoules Oct 14 '18 at 19:33
5 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>
- 207,970
-
Thank you for your answer and the link to the source. But I think your source says that
-l 8192means 8192 Kbit/second, and the-lmight work up to 1 Mbit/second (which seems to be a bit outdated nowadays). – elmicha Nov 26 '11 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. – Erwin Wessels Jan 17 '14 at 06: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/
- 211
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.
- 121
-
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.
– mjaggard May 18 '17 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.
- 11
I've hit this myself nearly a decade later, and I'm finding that despite the upload claiming - stalled - and the amount of data sent not incrementing, the file is growing on the destination.
This leads me to believe that the client is just misreporting its (lack of) success.
Solution: Verify the copy is progressing.
- 178