從第三台電腦啟動將檔案從一台伺服器傳輸到另一台伺服器

從第三台電腦啟動將檔案從一台伺服器傳輸到另一台伺服器

我正在嘗試使用以下配置進行網站到網站的傳輸。我有一台舊伺服器(伺服器-A)、新伺服器(伺服器-B)和我的工作站(wks),我想在它們上啟動傳輸。

wks 和伺服器 A/B 之間已完成 SSH 金鑰交換。

伺服器 A 和伺服器 B 沒有交換金鑰。

我從我的工作站嘗試了以下命令

scp -r root@server-A:/path/to/source/ root@server-B:/destination/path

但它不起作用。據我了解,伺服器 A 嘗試連接到伺服器 B,並且由於沒有完成密鑰交換,因此失敗。

知道如何使檔案傳輸適用於此特定配置嗎?

答案1

使用伺服器 A 和伺服器 B 之間的直接連線傳輸檔案是首選方法。這就是scp我們正在努力做的事情。的相關部分man 1 scp

-3
兩個遠端主機之間的副本是透過本地主機傳輸的。如果沒有此選項,資料將直接在兩個遠端主機之間複製。請注意,此選項會停用進度表。

你是對的,沒有-3選項「伺服器 A 嘗試連接到伺服器 B」。我的測試表明,即使伺服器 B 允許基於密碼的身份驗證,與 tty 互動(在被詢問密碼時)很可能會出現問題。在這種情況下這則評論似乎有用:

ssh進入伺服器 A,啟動scp伺服器 A 上的(一個指令)。避免複製文件兩次。

在您明確ssh進入伺服器 A 後,scp在詢問伺服器 B 的密碼時,呼叫與 tty 互動應該沒有問題。或者,您可以ssh進入 server-B 並scp在那裡呼叫。

如果不可能(需要密鑰,不允許密碼),請scp -3在您的工作站上使用。顯然,這將使用您的本地電腦作為一種代理,因此資料將在其網路連接上上下流動。

但並非所有scp實作都支援-3

相關內容