我可以使用 SSH 傳輸檔案嗎?

我可以使用 SSH 傳輸檔案嗎?

我在用油灰在 Windows 7 上透過 SSH 連接到我的學校電腦實驗室。我可以使用 SSH 將檔案從 Windows 電腦傳輸到學校電腦上的使用者嗎?

答案1

使用 putty 下載頁面中的 PSCP 工具:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

PSCP 是 scp 的 putty 版本,它是透過 ssh 指令進行 cp(複製)。

PSCP 需要安裝在您的 Windows 電腦上(剛剛下載,實際上,沒有安裝過程。在「打包檔案」部分中,pscp.exe 已經包含在內)。學校的伺服器上不需要安裝任何東西。 PSCP 和 scp 都使用 ssh 進行連線。

回答評論中的使用問題:

要從您的電腦上傳到遠端伺服器:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path

這會將檔案 file.txt 上傳到伺服器上的指定目錄。如果目標路徑的最後部分不是目錄,則它將是新檔案名稱。您也可以執行此操作以上傳具有不同名稱的檔案:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path\newname.txt

若要將檔案從遠端伺服器下載到您的電腦:

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\

或者

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\newfile.txt

或者

c:\pscp user@remote:\home\user\some\file.txt .

末尾有一個單獨的點。這會將指定的檔案下載到目前目錄。

由於評論太靠前了,我還應該在這裡指出,WinSCP 為所有這些提供了一個 GUI,如果您有興趣的話:http://winscp.net/eng/download.php

答案2

你可以使用Windows PowerShell(實際上,它是OpenSSH指令,它也可以在任何UNIX作業系統上使用):

scp -P <non-default target ssh port> "<source file>" <username>@<hostname/address>:<destination path>

-P如果 ssh 在預設連接埠 (22) 上打開,則可以省略標誌

切換本機和遠端路徑的位置以從遠端主機複製文件

例如:

  • 透過 ssh 複製檔案“ps.key”
  • 本機作業系統是Windows 10
  • 遠端位址是192.168.88.242,ssh(守護程式)在連接埠1688上工作
  • 遠端使用者名稱是“nick”

命令:

本地(win)->遠端(unix):

scp -P 1688 "D:\MEGA\ps.key" [email protected]:/home/nick/ps.key

遠端->本地​​(從遠端主機複製):

scp -P 1688 [email protected]:/home/nick/ps.key "D:\MEGA\ps.key"

之後,您應該確認目標金鑰指紋(如果您之前沒有透過 PowerShell 連接到該主機)並在遠端主機上對自己進行身份驗證(如果不使用 ssh-agent,則輸入使用者密碼或 ssh-key 密碼)。

應該可以在 win10 上運行,無需任何安裝,因為 OpenSSH 是內建的

答案3

您可能必須使用正斜線 (/) 才能與 LINUX/UNIX 伺服器通訊

c:\pscp c:\some\path\to\a\file.txt user@remote:/home/user/some/path

答案4

您可以使用以下命令將大量文件集中起來tar

tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'

...這將遞歸地壓縮本機電腦上目前目錄中的所有檔案並將其串流傳輸到目標路徑,同時在遠端電腦上解壓縮和擴展流。

您可以對寫入標準輸出的任何內容執行類似的操作。cat是一個顯而易見的選擇:

cat ./localfile | ssh user@remote 'cat >./remotefile'

相關內容