Mengapa scp macet? Bagaimana cara mengatasinya?

52

Ketika saya mencoba untuk menyalin file (ukuran,) melalui jaringan menggunakan scp, saya mendapatkan kesalahan. <file> stalled Mengapa ini terjadi? Bagaimana cara mengatasinya?

Lelouch Lamperouge
sumber
Saya suka clone untuk ini; Saya tidak pernah punya masalah dengan itu.
Hatshepsut
Saya membatalkan dan memulai kembali perintah scp dan masalahnya hilang untuk saya
kilojoules

Jawaban:

72

Ini terjadi karena scpsedang mencoba mengambil bandwidth sebanyak mungkin, dan penundaan apa pun (oleh firewall, dll.) Dapat menghentikannya. Membatasi bandwidth (dengan opsi -l) akan memperbaikinya.

Misalnya, Anda mungkin ingin membatasi bandwidth hingga 1 MB / s (= 8192 Kbits / s):

 scp -l 8192 <file> <destination>

Sumber: http://www.aixmind.com/?p=1371 - Mesin Wayback

muru
sumber
Terima kasih atas jawaban Anda dan tautan ke sumber. Tapi saya pikir sumber Anda mengatakan itu -l 8192berarti 8192 Kbit / detik, dan -lmungkin bekerja hingga 1 Mbit / detik (yang tampaknya agak ketinggalan jaman saat ini).
elmicha
2
@elmicha 8192Kb == 1MB
Lelouch Lamperouge
@Eknath Ups, kau benar.
elmicha
2
Hanya untuk memperjelas: contohnya membatasi bandwidth scp ke 8192 Kbit / detik. Penulis artikel sumber menyarankan bahwa angka ini harus berfungsi dengan baik untuk koneksi hingga 1 Mbit / detik.
Erwin Wessels
1
Bekerja seperti pesona :)
Saurabh
5

Saya telah berhasil menyelesaikannya dengan menggunakan rsync:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /tmp/bigfile.txt [email protected]:/tmp/
pengguna1453912
sumber
2

Apakah Anda berada di belakang firewall ASA Cisco? Jika demikian, matikan "pengacakan nomor urut" dan itu akan banyak membantu - juga menonaktifkan TCP Offload (ethtool -K $ INTERFACE untuk mematikan) jika Anda menggunakan Cisco ASA dengan Broadcom NIC di server Anda .

dotwaffle
sumber
Itu jenius. Apakah perubahan itu permanen atau apakah saya harus meletakkan perintah di suatu tempat? Supaya jelas, Anda harus mengatur itu pada NIC Anda, bukan pada antarmuka cscotun.
mjaggard
1

Mengingat pesan kesalahan yang kami terima ketika scp macet, saya curiga bahwa enkripsi yang gagal. "Keaslian host 'myserver (10.10.11.12)' tidak dapat ditetapkan. Sidik jari kunci ECDSA adalah SHA256: + zkyskXlxVQ0kRorLW26pzprIYbsM4N3hbaDLz1RNpo" Dengan mengingat hal itu, saya menjalankan "scp -c aes128-ctr /tc/htc/ src myserver: / tmp / bigfile ". scp berhasil dengan sandi alternatif. Apakah ada masalah dengan sandi default yang meniup ruang buffer?

Mungkin coba menambahkan "-c" dengan cipher alternatif dan lihat apakah itu dapat mengatasi kios Anda.

Dan Snavely
sumber