Linux

使用本地身份驗證在遠端伺服器之間複製

  • August 6, 2014

當我需要在兩個遠端伺服器之間複製一些文件時,我通常

scp -3 user@server1:path user@server2:path

不幸的是,因為它通過我的機器路由流量,所以當文件“大”並且伺服器彼此“靠近”時,這非常慢……

您是否知道在將身份驗證委託給我的機器(即:like )時,有任何方法可以實現正常的“直接傳輸”行為scp(即: no )?-3``-3

..也許有一些scp選擇?

我能想出的最接近的建議是使用ssh-agent

  1. 如果您還沒有代理,請啟動代理:ssh-agent bash
  2. 載入密鑰:ssh-add
  3. ssh到一個主機並讓它啟動與另一台主機之間的副本:scp user@server1:path user@server2:path

除了不使用scp標誌-3外,您還可以明確地ssh連接到一台主機並啟動scp,然後您可以決定是否要ssh使用server1server2. 使用我上面給出的命令,scp將為您選擇一個。

從安全形度來看,使用 存在危險ssh-agent,因為伺服器將擁有使用代理中的密鑰的完全訪問權限,即使用於此文件傳輸之外的其他目的。

如果您不想信任任何一個伺服器可以訪問另一個伺服器,但希望確保只有客戶端主機可以訪問密鑰並且伺服器彼此安全通信,但只會傳輸您指定的文件並執行沒有別的,那麼你將需要一些不同的工具。我不認為可以通過scp.

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