如何避免通过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 

任何其他的想法?

一个丑陋的工作将是使用rsync而不是scprsync程序可以可靠恢复中断传输。 如果挂起,用CTRL-C打开并重复该命令。

我认为你应该在screen会话中使用rsync 。 一个中断可以用--ignore-existing选项重新运行。

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