將檔案移轉至 Linux VM

如要將檔案轉移至 Compute Engine VM 執行個體,您有幾種方式可以選擇,取決於工作站 OS 和目標 VM 執行個體 OS。

轉移來源 Linux VM
Linux 或 macOS
Windows

透過 Cloud Storage 轉移檔案

Cloud Storage bucket 可做為您和 VM 之間的傳輸點。您可以使用網頁瀏覽器、Google Cloud CLI 或程式設計語言,在 Cloud Storage 與 Compute Engine VM 之間傳輸檔案。

上傳和下載步驟可使用不同類型的憑證,以符合您的需求:

如要使用 Cloud Storage 在電腦和 VM 之間移轉檔案,請按照下列步驟操作:

  1. 如果沒有可用於檔案移轉作業的 bucket,請建立 Cloud Storage bucket。
  2. 使用 IAM 權限修改 bucket 的存取權:
    • 將檔案上傳至 bucket 的帳戶應具備 Storage 物件管理員權限。
    • 下載檔案的帳戶必須獲派「Storage 物件檢視者」角色。
  3. 登入來源裝置,然後將檔案上傳至 bucket。
  4. 登入目標裝置,然後從 bucket 下載檔案,完成檔案轉移作業。
  5. 選用:刪除不再需要的檔案,以免產生不必要的儲存空間費用。

如要反向轉移檔案,請反向操作。請確認上傳檔案的帳戶具備 bucket 的寫入權限。

使用瀏覽器中的 SSH 傳輸檔案

如果可以使用瀏覽器中的 SSH 建立與 VM 的 SSH 連線,即可透過該連線將檔案移入及移出 VM。

上傳至 VM

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 在虛擬機器執行個體清單中,按一下您要連線的執行個體那一列的「SSH」SSH。

    執行個體名稱旁邊的 SSH 按鈕。

  3. 建立連線後,按一下上傳圖示 。

    系統就會開啟上傳對話方塊。

  4. 選擇要上傳的檔案。
  5. 按一下「上傳檔案」上傳檔案。檔案會上傳至 /home/USER 目錄。

從 VM 下載

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 在虛擬機器執行個體清單中,按一下您要連線的執行個體那一列的「SSH」SSH。

    執行個體名稱旁邊的 SSH 按鈕。

  3. 建立連線後,按一下下載圖示 。

    系統就會開啟下載對話方塊。

  4. 在「Path」欄位中,輸入要下載的檔案相對路徑。
  5. 按一下「下載」下載檔案。檔案會下載到工作站的預設下載資料夾。

使用 Google Cloud CLI 傳輸檔案

Google Cloud CLI 會透過已建立的 SSH 連線,提供安全複製通訊協定 (SCP) 檔案傳輸公用程式。

如要使用 SCP 傳輸檔案,請按照下列步驟操作:

  1. 檢查防火牆規則,確認允許透過通訊埠 22 建立 SSH 連線。如未允許,請建立 SSH 防火牆規則。
  2. 確認來源裝置已安裝 gcloud CLI,且該裝置包含要轉移的檔案。
  3. 使用 gcloud compute scp 指令將檔案傳輸到目標電腦。

以下範例會將檔案從工作站複製到 VM 的主目錄:

gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIR

更改下列內容:

  • LOCAL_FILE_PATH:機器上的檔案路徑
  • VM_NAME:VM 名稱
  • REMOTE_DIR:遠端機器上的目錄

您也可以從遠端電腦反向複製檔案和目錄。以下範例會將來源目錄以遞迴方式複製到目的地:

gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_FILE_PATH

詳情請參閱 gcloud compute scp 參考文件。

在 Linux 和 macOS 工作站上使用 SCP 傳輸檔案

scp 指令列工具的運作方式與 gcloud compute scp 指令類似,但您必須手動管理安全殼層金鑰。

如要使用 SCP 傳輸檔案,您必須在 VM 使用的網路上設定防火牆規則,允許透過通訊埠 22 建立 SSH 連線。您可以在 Google Cloud 控制台中尋找允許 tcp:22 連線的防火牆規則,確認這項規則是否存在。

前往「Firewall rules」(防火牆規則) 頁面

如果沒有允許透過通訊埠 22 建立 SSH 連線的防火牆規則,請建立防火牆規則。

scp 工具會使用您用來透過標準安全殼層連線至執行個體的同一個金鑰檔案。

  1. 如果您尚未將公開金鑰套用至 Google Cloud 控制台專案或 VM 執行個體,請建立安全殼層金鑰組,並將公開金鑰新增至專案或執行個體中繼資料。

  2. 找出要接收檔案的 VM 外部 IP。

    1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

      前往 VM 執行個體

    2. 在 VM 清單中,找出目標 VM「外部 IP」欄中的外部 IP 位址。

  3. 使用 scp 工具,將檔案從工作站複製到目標 VM 的主目錄。在這個範例中,私密金鑰位於 ~/.ssh/my-ssh-key 中。

    scp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IPv4_ADDRESS:~
    

    如為外部 IPv6 位址,請使用下列語法:

    scp -6 -i ~/.ssh/IDENTITY_FILE LOCAL_FILE_PATH USERNAME@[IPv6_ADDRESS]:~/
    

    更改下列內容:

    • IDENTITY_FILE:包含公開金鑰驗證身分 (私密金鑰) 的檔案
    • LOCAL_FILE_PATH:要上傳的本機檔案名稱
    • USERNAME:您的使用者名稱
    • IPv4_ADDRESS 或 IPv6_ADDRESS:VM 的外部 IP 位址

您也可以反轉來源和目的地變數,將檔案從 VM 複製到本機工作站。在本範例中,請將 VM 中的檔案複製到工作站的路徑。

scp -i ~/.sshIDENTITY_FILE USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH

更改下列內容:

  • IDENTITY_FILE:包含公開金鑰驗證身分 (私密金鑰) 的檔案
  • USERNAME:您的使用者名稱
  • IP_ADDRESS:VM 的外部 IP 位址
  • REMOTE_FILE_PATH:要下載的遠端檔案名稱
  • LOCAL_FILE_PATH:工作站上要下載檔案的位置

在 Windows 工作站使用 WinSCP 傳輸檔案

在 Windows 工作站上,WinSCP 用戶端可讓您透過圖形式的檔案瀏覽器介面,管理執行個體上的檔案。

WinSCP 使用的私密金鑰檔案,與透過 PuTTY 連線至 VM 時使用的檔案相同。

  1. 如果尚未為執行個體設定金鑰型 SSH 驗證,請按照下列步驟操作:

    1. 使用 PuTTYgen 建立安全殼層金鑰組。 私密安全殼層金鑰必須使用 .ppk 格式,這是 PuTTYgen 建立金鑰時的預設格式。

    2. 將公開 SSH 金鑰新增至專案中繼資料或 VM 中繼資料。 詳情請參閱「將安全殼層金鑰新增至專案中繼資料」或「將安全殼層金鑰新增至執行個體中繼資料」。

  2. 找出要接收檔案的 VM 外部 IP。

    1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

      前往 VM 執行個體

    2. 在 VM 清單中,找出 VM「外部 IP」欄中的外部 IP 位址。
  3. 下載並安裝 WinSCP。預設的安裝設定適用於絕大多數的使用者。

  4. 啟動 WinSCP 程式。系統隨即會開啟登入視窗,讓您在其中調整連線設定。

  5. 在 WinSCP 中調整您的連線設定。

    1. 在「File protocol」(檔案通訊協定) 欄位中,選取「SCP」做為檔案傳輸通訊協定。

    2. 在「主機名稱」欄位中,指定要連線的 VM 外部 IP 位址。

    3. 在 [User name] (使用者名稱) 欄位中,指定您要用來存取專案的 Google 使用者名稱。在這個範例中,使用者為 example-user。

      將檔案通訊協定設為 SCP、主機名稱設為 104.196.31.103,使用者名稱設為 example-user。

  6. 按一下「Advanced」(進階) 下拉式選單開啟進階設定,然後依序前往「SSH」 >「Authentication」(驗證)。

  7. 在「Private key file」(私密金鑰檔案) 方塊中,指定為 VM 建立的安全殼層金鑰組私密金鑰檔案路徑。

    在「進階網站設定」對話方塊中,將私密金鑰檔案設為 my-ssh-key.ppk。

  8. 按一下 [Ok] (確定) 來儲存進階設定。

  9. 按一下「登入」即可連線至 VM。如果連線成功,視窗左側會開啟本機檔案系統,右側則會開啟 VM 的檔案系統。您可以在這些檔案系統中前往不同目錄,然後拖曳檔案,將檔案轉移至 VM 或從 VM 轉移檔案。

  10. 您可能沒有權限管理 VM 住家目錄以外的大部分檔案。前往 VM 的主目錄:

    /home/USERNAME
    
  11. 使用 WinSCP 介面在工作站和 VM 之間移動檔案。

  12. 將檔案複製到 VM 後,請連線至執行個體,以便使用完整的 sudo 權限執行或移動檔案。

後續步驟