scp 遠端A:檔案遠端B:

scp 遠端A:檔案遠端B:

使用 scp 我可以獲得一個文件

 scp remoteA:file .

並放置一個文件

 scp file remoteB:

但當我嘗試時

 scp remoteA:file remoteB:

我明白了

ssh: Could not resolve hostname remoteB: Name or service not known
lost connection

為什麼?

編輯:

RemoteA 和 RemoteB 描述位於 ~/.ssh/config 中

答案1

可能與 scp 本身無關,而是從一台主機到另一台主機的某種名稱解析。另一件需要考慮的事情是身份驗證。最好有從 A 到 B 的無密碼金鑰驗證。 scp 沒有找到該定義。如果主機定義有問題,請嘗試主機的真實 FQDN,它應該可以正常運作。另外,使用 -v 查看是否可以找到該錯誤的更多詳細資訊。

答案2

您需要指定一個remoteA可以到達的主機,因為複製是remoteA直接從 到 進行的remoteB

為了避免這種情況,您可以使用該-3選項。man scp說了它的作用:

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

答案3

對於那些因為 scp 指責本地檔案是它無法解析的主機名稱而來到這裡的人(另一個來源名稱或服務未知), 例如:

> scp archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/
ssh: Could not resolve hostname archive_2017-03-01-09:54:02.tar.gz: Name or service not known

解決方法:

> scp ./archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/

相關內容