Коли я намагався скопіювати файл (розміром,) через мережу за допомогою scp, я отримую помилку <file> stalled
Чому це відбувається? Як це вирішити?
Коли я намагався скопіювати файл (розміром,) через мережу за допомогою scp, я отримую помилку <file> stalled
Чому це відбувається? Як це вирішити?
Відповіді:
Це відбувається тому scp
, що намагається захопити якомога більше пропускної здатності, і будь-яка затримка (через брандмауер тощо) може зупинити її. Обмеження пропускної здатності (з опцією -l) виправить це.
Наприклад, ви можете обмежити пропускну здатність до 1 МБ / с (= 8192 Кбіт / с):
scp -l 8192 <file> <destination>
-l 8192
означає 8192 Кбіт / секунду, і -l
може працювати до 1 Мбіт / секунду (що, здається, нині трохи застаріло).
Мені вдалося вирішити це за допомогою rsync:
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /tmp/bigfile.txt user@host.com:/tmp/
Є ймовірність, що ти стоїш за брандмауером Cisco ASA? Якщо так, вимкніть "рандомізацію номера послідовностей", і це допоможе дуже багато - також відключіть TCP Offload (ethtool -K $ INTERFACE tso off gso off gro off), якщо ви працюєте на Cisco ASA з Broadcom NIC на своєму сервері .
Враховуючи повідомлення про помилку, яке ми отримали, коли scp застопорився, я підозрював, що це шифрування не вдалося. "Неможливо встановити справжність хоста" myserver (10.10.11.12) ". Відбиток ключа ECDSA - SHA256: + zkyskXlxVQ0kRorLW26pzprIYbsM4N3hbaDLz1RNpo" Зважаючи на це, я запустив "scp -c aes128-ctr /tmp/test.dan src myserver: / tmp / bigfile ". scp вдався з альтернативним шифром. Чи є проблема із шифром за замовчуванням, який видає буферний простір?
Можливо, спробуйте додати "-c" за допомогою чергового шифру і побачити, чи вирішує він ваше стійло