通过 ssh 网关建立隧道时,如何避免 scp 传输停滞?

通过 ssh 网关建立隧道时,如何避免 scp 传输停滞?

我尝试将一个大文件(1GB+)从一台机器传输到另一台机器,但我必须通过网关隧道中间。我可以顺利传输小文件。但是,对于大文件,传输中途会停滞。

读完关于 SCP 传输停滞的博客文章,我尝试使用-l 8192,甚至尝试将其降低到-l 2000,但这似乎只是让它更快地停滞:

scp -l 2000 -v -P 2222 username@localhost:/path/to/file.gz .

从 scp 命令的详细输出(-v)来看,似乎-l没有被传递……

debug1: Sending command: scp -v -f -- /path/to/file.gz

还有其他想法吗?

答案1

一个不太好的解决方案是使用rsync而不是scprsync程序可以可靠地恢复中断的传输。如果它挂起,只需使用 退出CTRL-C并重复该命令。

答案2

我认为您应该rsyncscreen会话中使用。可以使用选项重新运行中断--ignore-existing

答案3

我认为 rsync 不是一个丑陋的解决方案。一定要使用 -c 标志 rsync,这样如果连接中断,它可以从中断的地方继续,还可以包括 --verbose 以在传输过程中查看更多信息。

相关内容