Ssh

通過 ssh 通過網關進行隧道傳輸時,如何避免停滯的 scp 傳輸?

  • October 12, 2011

我正在嘗試將一個大(1GB+)文件從一台機器傳輸到另一台機器,但我必須通過兩者之間的網關進行隧道傳輸。我可以很好地傳輸小文件。但是,對於大文件,傳輸會在中途停止。

在閱讀了關於停止 scp transfer 的部落格文章後,我嘗試使用-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而不是scp. 該rsync程序可以可靠地恢復中斷的傳輸。如果它掛起,只需中斷CTRL-C並重複該命令。

我認為你應該rsyncscreen會話中使用。可以使用--ignore-existing選項重新執行中斷。

引用自:https://serverfault.com/questions/319608