Почему scp застопорился? Как мне его решить?

Когда я попытался скопировать файл (размера) по сети с помощью scp, я получаю сообщение об ошибке <file> stalled Почему это происходит? Как это разрешить?

46
задан 27 November 2011 в 02:12

4 ответа

Это происходит потому, что scp пытается захватить как можно большую ширину полосы пропускания, и любая задержка (через брандмауэр и т. д.) может остановить его. Ограничение полосы пропускания (с опцией -l) исправит это.

Например, вы можете ограничить пропускную способность до 1 Мбайт / с (= 8192 Кбит / с):

 scp -l 8192 <file> <destination>

Источник: http://www.aixmind.com/?p=1371 - Wayback Machine

65
ответ дан 25 May 2018 в 16:28
  • 1
    Спасибо за ваш ответ и ссылку на источник. Но я думаю, что ваш источник говорит, что -l 8192 означает 8192 Кбит / с, а -l может работать до 1 Мбит / с (что в наши дни кажется немного устаревшим). – elmicha 27 November 2011 в 02:50
  • 2
    @elmicha 8192Kb == 1MB – Lelouch Lamperouge 27 November 2011 в 03:20
  • 3
    @Eknath Ой, ты прав. – elmicha 27 November 2011 в 03:32
  • 4
    Просто уточнить: пример ограничивает пропускную способность scp до 8192 Кбит / с. Автор исходной статьи предлагает, чтобы этот номер работал нормально для соединений до 1 Мбит / с. – Erwin Wessels 17 January 2014 в 12:38
  • 5
    Работал как шарм :) – Saurabh 24 August 2016 в 08:13

Мне удалось решить эту проблему с помощью rsync:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /tmp/bigfile.txt user@host.com:/tmp/
3
ответ дан 25 May 2018 в 16:28

Есть ли вероятность, что вы находитесь за брандмауэром Cisco ASA? Если это так, отключите «рандомизацию последовательности номеров», и это поможет многое - также отключите TCP Offload (ethtool -K $ INTERFACE tso off gso off gro off), если вы находитесь в Cisco ASA с сетевыми картами Broadcom на своем сервере .

2
ответ дан 25 May 2018 в 16:28
  • 1
    Это гениально. Является ли это изменение постоянным или мне нужно что-то добавить в команду? Чтобы быть ясным, вы должны установить это на своем сетевом адаптере, а не на интерфейсе cscotun. – mjaggard 18 May 2017 в 21:54

Учитывая сообщение об ошибке, которое мы получили, когда scp застопорился, я подозревал, что это была ошибка шифрования. «Аутентификация« myserver »(10.10.11.12)« host »не может быть установлена. Отпечаток ключа ECDSA - SHA256: + zkyskXlxVQ0kRorLW26pzprIYbsM4N3hbaDLz1RNpo« С учетом этого я запускал «scp -c aes128-ctr /tmp/test.dan/bigfile. src myserver: / tmp / bigfile ". scp успешно прошел альтернативный шифр. Есть ли проблема с шифрованием по умолчанию буфера?

Можете попробовать добавить «-c» с помощью альтернативного шифрования и посмотреть, разрешит ли он ваш ларек.

1
ответ дан 25 May 2018 в 16:28

Другие вопросы по тегам:

Похожие вопросы: