56

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
  • 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
75

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>

Source: http://www.aixmind.com/?p=1371 - Wayback Machine

6
  • 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).
    – elmicha
    Nov 26 '11 at 20:50
  • 2
    @elmicha 8192Kb==1MB Nov 26 '11 at 21:20
  • @Eknath Oops, you're right.
    – elmicha
    Nov 26 '11 at 21:32
  • 2
    Just 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 '14 at 6:38
  • 1
    Worked like a charm :)
    – Saurabh
    Aug 24 '16 at 5:13
6

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/
2

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.

1
  • 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
1

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.