Tại sao scp bị đình trệ? Làm thế nào để tôi giải quyết nó?


52

Khi tôi cố sao chép một tệp (có kích thước) qua mạng bằng scp, tôi gặp lỗi <file> stalled Tại sao điều này xảy ra? Làm thế nào để tôi giải quyết nó?


Tôi thích rclone cho điều này; Tôi chưa bao giờ có bất kỳ vấn đề với nó.
Hatshepsut

Tôi đã hủy và khởi động lại lệnh scp và vấn đề đã biến mất đối với tôi
kilojoules

Câu trả lời:


72

Điều này xảy ra bởi vì scpđang cố lấy càng nhiều băng thông càng tốt và bất kỳ độ trễ nào (bởi tường lửa, v.v.) đều có thể cản trở nó. Giới hạn băng thông (với tùy chọn -l) sẽ khắc phục nó.

Ví dụ: bạn có thể muốn giới hạn băng thông ở mức 1 MB / s (= 8192 Kbit / s):

 scp -l 8192 <file> <destination>

Nguồn: http://www.aixmind.com/?p=1371 - Máy Wayback


Cảm ơn bạn đã trả lời của bạn và liên kết đến nguồn. Nhưng tôi nghĩ rằng nguồn của bạn nói rằng điều đó -l 8192có nghĩa là 8192 Kbit / giây và -lcó thể hoạt động lên tới 1 Mbit / giây (hiện tại có vẻ hơi lỗi thời).
elmicha

2
@elmicha 8192Kb == 1MB
Lelouch Lamperouge

@Eknath Rất tiếc, bạn đã đúng.
elmicha

2
Chỉ cần làm rõ: ví dụ giới hạn băng thông của scp là 8192 Kbit / giây. Tác giả của bài viết nguồn cho thấy con số này sẽ hoạt động tốt đối với các kết nối lên tới 1 Mbit / giây.
Erwin Wessels

1
Làm việc như một bùa mê :)
Saurabh

5

Tôi đã quản lý để giải quyết nó bằng cách sử dụng rsync:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /tmp/bigfile.txt user@host.com:/tmp/

2

Bất kỳ cơ hội nào bạn đứng sau tường lửa Cisco ASA? Nếu vậy, hãy tắt "ngẫu nhiên số thứ tự" và điều đó sẽ giúp ích rất nhiều - cũng vô hiệu hóa TCP Offload (ethtool -K $ INTERFACE tắt gso off) nếu bạn đang sử dụng Cisco ASA với Broadcom NIC trong máy chủ của bạn .


Đó là thiên tài. Là sự thay đổi vĩnh viễn hay tôi cần phải đặt lệnh ở đâu đó? Để rõ ràng, bạn phải đặt nó trên NIC của bạn, không phải trên giao diện cscotun.
mjaggard

1

Đưa ra thông báo lỗi mà chúng tôi nhận được khi scp bị đình trệ, tôi nghi ngờ rằng đó là mã hóa bị lỗi. "Tính xác thực của máy chủ 'myserver (10.10.11.12)' không thể được thiết lập. Dấu vân tay của khóa ECDSA là SHA256: + zkyskXlxVQ0kRorLW26pzprIYbsM4N3hbaDLz1RNpo" Với ý nghĩ đó tôi đã chạy ". src myserver: / tmp / bigfile ". scp WAS thành công với mật mã thay thế. Có một vấn đề với mật mã mặc định thổi một không gian bộ đệm?

Có thể thử thêm "-c" với một mật mã thay thế và xem liệu nó có giải quyết được gian hàng của bạn không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.