Centos

無法從遠端 scp 文件到本地

  • November 5, 2018

我閱讀了有關 scp 的一系列說明和答案

安全複製 (scp) 的範例語法

scp - 如何將文件從遠端伺服器複製到本地電腦?- Unix 和 Linux 堆棧交換

但我不能正確應用它

$ pwd
#the local path on local machine
pwd
/Users/me/PubRepo/bash

當我嘗試將文件從遠端 scp 到本地時

[root@iz2ze9wve43n2nyuvmsfx5z ~]# echo "scp test message" > a_test_file.md
[root@iz2ze9wve43n2nyuvmsfx5z ~]# cat a_test_file.md
scp test message
[root@iz2ze9wve43n2nyuvmsfx5z ~]# pwd
/root
[root@iz2ze9wve43n2nyuvmsfx5z ~]# scp root@icodehero.com:a_test_file.md  .
root@icodehero.com's password: 
a_test_file.md                                                                  100%   17     3.6KB/s   00:00    
[root@iz2ze9wve43n2nyuvmsfx5z ~]# 

表示轉移成功,但是我在本地沒有找到

ls | grep "a_test_file.md"
#does not return 

另外它在本地任何地方都不存在

find / -name "a_test_file.md" 2>/dev/null                                                              
## no match

我的使用有什麼問題?

從您的控制台日誌看來,您在創建scp的遠端主機上進行了呼叫a_test_file.md,但您使用.的是第二個參數,即目標。呼叫總是先有源,然後有目的地。就像評論中提到的@jimmij 一樣,這會從另一個遙控器複製另一個具有相同名稱的文件。

所以你有兩種可能:

  1. scp從文件應該結束的機器(您的本地機器)呼叫。假設icodehero.com是您的遠端機器,scp您使用的呼叫是正確的,只是在錯誤的機器上。
  2. scp將呼叫更改為scp a_test_file.md user@your_local_machine:.,這只有在遠端也可以通過 ssh 訪問您的本地電腦時才有可能。

如果您想知道,為什麼複製顯示為成功,我假設icodehero.com是您創建文件的機器,在這種情況下,您的遠端從自身複製了文件(它自己覆蓋了文件,實際上什麼都不做)。

引用自:https://unix.stackexchange.com/questions/479881