Когда я пытался скопировать файл (размером) по сети, используя 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 (ethtool -K $ INTERFACE tso off gso off gro off), если вы используете Cisco ASA с сетевыми картами Broadcom на вашем сервере. ,
Учитывая сообщение об ошибке, которое мы получили, когда scp остановился, я заподозрил, что шифрование не сработало. «Подлинность хоста« myserver (10.10.11.12) »не может быть установлена. Идентификатор ключа ECDSA - SHA256: + zkyskXlxVQ0kRorLW26pzprIYbsM4N3hbaDLz1RNpo» Имея это в виду, я запустил «scp -c aes128-ctr /tmp/igile». src myserver: / tmp / bigfile ". scp был успешным с альтернативным шифром. Есть ли проблема с шифром по умолчанию, уносящим буферное пространство?
Попробуйте добавить «-c» с альтернативным шифром и посмотреть, разрешит ли он вашу задержку.