Когда я попытался скопировать файл (размера) по сети с помощью scp, я получаю сообщение об ошибке <file> stalled
Почему это происходит? Как это разрешить?
Это происходит потому, что scp пытается захватить как можно большую ширину полосы пропускания, и любая задержка (через брандмауэр и т. д.) может остановить его. Ограничение полосы пропускания (с опцией -l) исправит это.
Например, вы можете ограничить пропускную способность до 1 Мбайт / с (= 8192 Кбит / с):
scp -l 8192 <file> <destination>
Источник: http://www.aixmind.com/?p=1371 - Wayback Machine
Мне удалось решить эту проблему с помощью 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 на своем сервере .
Учитывая сообщение об ошибке, которое мы получили, когда scp застопорился, я подозревал, что это была ошибка шифрования. «Аутентификация« myserver »(10.10.11.12)« host »не может быть установлена. Отпечаток ключа ECDSA - SHA256: + zkyskXlxVQ0kRorLW26pzprIYbsM4N3hbaDLz1RNpo« С учетом этого я запускал «scp -c aes128-ctr /tmp/test.dan/bigfile. src myserver: / tmp / bigfile ". scp успешно прошел альтернативный шифр. Есть ли проблема с шифрованием по умолчанию буфера?
Можете попробовать добавить «-c» с помощью альтернативного шифрования и посмотреть, разрешит ли он ваш ларек.