Scp

使用 scp 將文件從本地目錄 X 傳輸到遠端目錄 Y

  • September 15, 2020

我在這裡查看了其他問題以及 Internet 上的各種“scp 使用”教程,但我無法找出問題所在。

我正在使用 Linux Mint,我試圖弄清楚scp是如何工作的。

我在目錄**/home/name/dir/中有一個文件****file.ext**(在我的電腦上)

我使用ssh連接到遠端機器,例如:

ssh -p 2222 username@domain

它問我密碼,shell 顯示:

username@domain ~ $

現在,如果我發出命令(在我執行 ssh 之前,我在本地目錄 /home/name/dir中):

scp -r -P 2222 file.ext username@domain 

輸出是:

cp: cannot stat ‘file.ext’: No such file or directory

如果我寫的是完整路徑而不是 file.ext,則結果相同

scp -r -P 2222 /home/name/dir/file.ext username@domain 

另外,伺服器管理員告訴我,我應該將文件上傳到我的遠端主目錄(而不是根目錄),例如:

scp -r -P 2222 file.ext username@domain:~/

但是當我這樣做並按“Enter”時,沒有任何反應,就像外殼正在等待進一步的輸入一樣。

我的問題總結:

  • cp:沒有這樣的文件或目錄
  • 外殼“卡”在〜/

有什麼建議麼?

您需要scp從本地機器而不是遠端機器上執行命令。你根本不需要ssh

dragonmnl@local $ scp -P 2222 file.ext username@domain:~/ 

您也不需要-r

-r      Recursively copy entire directories.  

如果您已經登錄到遠端電腦並想從本地複制,您需要確保您的本地電腦可以通過網際網路訪問並已ssh設置。我不認為這是你所追求的,但如果是的話,只需從遠端執行它:

username@domain $ scp dragonmnl@local:/path/to/file.ext ~/

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