Это не дает прямого ответа на вопрос, но может быть полезно для таких людей, как я, ищущих решение с зависанием scp при передаче файлов между двумя удаленными хостами.
Если scp
зависает из-за сообщений от ssh, он может помочь устранить их:
scp -o "StrictHostKeyChecking no"
и / или
scp -B
От scp man:
-B Выбирает пакетный режим (запрещает запрашивать пароли или парольные фразы).
-o ssh_option Может использоваться для передачи параметров в ssh в том формате, в котором нет отдельного флага командной строки scp. Для получения полной информации о параметрах, перечисленных ниже, и их возможных значениях, смотрите ssh_config (5).
В моем случае это, казалось, помогло, но не решило всей проблемы. Мы не смогли выяснить, почему зависает scp при переносе с удаленного на удаленный. Он висел в середине файла. 9 раз сработало, попытка № 10 не сработала. Мы подозревали, что это может быть зависание, когда наше VPN-соединение на мгновение получает скачок трафика, а затем scp не восстанавливается. Он действительно просто навсегда зависает и даже не выдает сообщение об ошибке.
Однако я сдался и переключился на sftp. Это значительно быстрее, так как используется прямое соединение между удаленными хостами. Вы должны включить
Host example.com
AgentForward yes
в файле ~/.shh/config компьютера, на котором запущен скрипт.
Конечно, это только решение, если оба удаленных компьютера находятся в вашей доверенной сети.