
我正在使用 SCP 將檔案從雲端中的 VPS 備份到我的 PC。在備份腳本的早期版本中,有一個 SCP 指令可以備份伺服器根目錄中的所有內容。這工作完美無缺..
然而,隨著伺服器的成長,它開始變大,因此我正在更改腳本以在特定目錄(大約十幾個)上執行 SCP 命令。現在,一些單獨的 SCP 命令隨機失敗,並顯示「連線被拒絕」。但腳本中的下一個 SCP 命令有效...我在每個 SCP 命令之間添加了 5 秒的延遲,以防某處出現一些限制,但這還不夠。
可能是什麼原因造成的?我可以檢查什麼?
netstat
腳本運行後在伺服器上顯示來自我的 IP 的多個 ssh 連接(當然包括要發出的連接netstat
,但這只是其中之一?)。
如果重要的話,伺服器運行的是 Ubuntu Server 16.04,而我的電腦運行的是 Ubuntu 14.04。
答案1
很可能您的 VPS 提供者(或您自己的伺服器)限制了 ssh 連線的速率。一旦超過速率限制,您的連線將被拒絕。
[更新]
如果此限制在您的 VPS 提供者方面,您可以透過ssh -L 2222:localhost:22 user@vps
在腳本持續時間內建立到您的伺服器的 ssh 隧道(即 )來克服它,然後僅透過此隧道進行 scp-ing(即透過localhost:2222
我提供的隧道) 。