Ssh
通過 ssh 通過網關進行隧道傳輸時,如何避免停滯的 scp 傳輸?
我正在嘗試將一個大(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
並重複該命令。
我認為你應該
rsync
在screen
會話中使用。可以使用--ignore-existing
選項重新執行中斷。