使用 Secure Copy 將檔案傳輸至虛擬電腦 - Amazon Lightsail 進行研究

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Secure Copy 將檔案傳輸至虛擬電腦

您可以使用安全複製 (SCP),將檔案從本機電腦傳輸到用於研究的 Amazon Lightsail 中的虛擬電腦。利用此程序,您可以一次傳輸多個檔案或整個目錄。

注意

您也可以使用 Lightsail 用於研究主控台的瀏覽器式 NICE DCV 用戶端,建立與虛擬電腦的遠端顯示通訊協定連線。利用 NICE DCV 用戶端,您可以快速地傳輸個別檔案。如需詳細資訊,請參閱 存取虛擬電腦的作業系統

完成先決條件

開始之前,請先完成以下先決條件:

  • 在 Lightsail 中建立虛擬電腦以供研究使用。如需詳細資訊,請參閱 建立虛擬電腦

  • 確認您想連線的虛擬電腦處於運行中狀態。此外,請記下虛擬電腦的名稱和在其中建立該虛擬電腦的 AWS 區域。您在此程序的後續步驟中會需要此資訊。如需詳細資訊,請參閱 檢視虛擬電腦詳細資訊

  • 下載並安裝 AWS Command Line Interface (AWS CLI)。如需詳細資訊,請參閱《AWS Command Line Interface 第 2 版使用者指南》中的安裝或更新最新版的 AWS CLI

  • 設定 AWS CLI 以存取您的 AWS 帳戶. 如需詳細資訊,請參閱《AWS Command Line Interface 第 2 版使用者指南》中的組態基礎概念

  • 下載並安裝 jq。這是一個輕量且靈活的命令行 JSON 處理器,在以下程序中用來提取金鑰對詳細資訊。如需有關下載和安裝 jq 的詳細資訊,請參閱 jq 網站上的下載 jq

  • 確認您想要連線的虛擬電腦上連接埠 22 已開啟。這是 SSH 使用的預設連接埠。預設為開啟 但如果您已將其關閉,則必須重新開啟,然後再繼續。如需詳細資訊,請參閱 管理虛擬電腦的防火牆連接埠

  • 取得虛擬電腦的預設 key pair (DKP)。如需詳細資訊,請參閱 建立虛擬電腦

使用 SCP 連線至虛擬電腦

完成下列其中一個程序,以使用 SCP 連線至 Lightsail 進行研究的虛擬電腦。

如果您的本機電腦使用 Windows 作業系統,則此程序適用。此程序會使用get-instance AWS CLI 命令來取得要連線之執行個體的使用者名稱和公用 IP 位址。如需詳細資訊,請參閱《AWS CLI 命令參考》中的 get-instance

重要

在開始此程序之前,請確定您已取得您嘗試連線之虛擬電腦的 Lightsail 預設 key pair (DKP)。如需詳細資訊,請參閱 取得虛擬電腦的金鑰對。該程序會將 Lightsail DKP 的私密金鑰輸出至下列其中一個指令中使用的dkp_rsa檔案。

  1. 開啟命令提示視窗。

  2. 輸入以下命令以顯示虛擬電腦的公有 IP 地址和使用者名稱。在命令中,替換region-code為在其中創建虛擬計算機的 AWS 區域的代碼,例如us-east-2。將 computer-name 換成您想要連線的虛擬電腦的名稱。

    aws lightsail get-instance --region region-code --instance-name computer-name | jq -r ".instance.username" & aws lightsail get-instance --region region-code --instance-name computer-name | jq -r ".instance.publicIpAddress"

    範例

    aws lightsail get-instance --region us-east-2 --instance-name MyJupyterComputer | jq -r ".instance.username" & aws lightsail get-instance --region us-east-2 --instance-name MyJupyterComputer | jq -r ".instance.publicIpAddress"

    回應會顯示虛擬電腦的使用者名稱和公有 IP 地址,如以下範例所示。記下這些值,因為在此程序的下一步中會用到。

    虛擬電腦的使用者名稱及公有 IP 地址。
  3. 輸入以下命令,建立與虛擬電腦的 SCP 連線並傳輸檔案。

    scp -i dkp_rsa -r "source-folder" user-name@public-ip-address:destination-directory

    在命令中:

    • source-folder 換成本機電腦上含有要傳輸的檔案的資料夾。

    • user-name 換成此程序先前步驟的使用者名稱 (例如 ubuntu)。

    • public-ip-address 換成此程序先前步驟的虛擬電腦公有 IP 地址。

    • destination-directory 換成您想要複製檔案的虛擬電腦上的目錄路徑。

    以下範例會將本機電腦上 C:\Files 資料夾中的所有檔案複製到遠端虛擬電腦上的 /home/lightsail-user/Uploads/ 目錄。

    scp -i dkp_rsa -r "C:\Files" ubuntu@192.0.2.0:/home/lightsail-user/Uploads/

    您應該會看到類似於以下範例的回應。顯示從原始資料夾傳輸到目的地目錄的每個檔案。現在,您應該可以在虛擬電腦上存取這些檔案。

    對 SCP 傳輸的回應。

如果您的本機電腦使用 Linux、Unix 或 macOS 作業系統,則此程序適用。此程序會使用get-instance AWS CLI 命令來取得要連線之執行個體的使用者名稱和公用 IP 位址。如需詳細資訊,請參閱《AWS CLI 命令參考》中的 get-instance

重要

在開始此程序之前,請確定您已取得您嘗試連線之虛擬電腦的 Lightsail 預設 key pair (DKP)。如需詳細資訊,請參閱 取得虛擬電腦的金鑰對。該程序會將 Lightsail DKP 的私密金鑰輸出至下列其中一個指令中使用的dkp_rsa檔案。

  1. 開啟「終端機」視窗。

  2. 輸入以下命令以顯示虛擬電腦的公有 IP 地址和使用者名稱。在命令中,替換region-code為在其中創建虛擬計算機的 AWS 區域的代碼,例如us-east-2。將 computer-name 換成您想要連線的虛擬電腦的名稱。

    aws lightsail get-instance --region region-code --instance-name computer-name | jq -r '.instance.username' & aws lightsail get-instance --region region-code --instance-name computer-name | jq -r '.instance.publicIpAddress'

    範例

    aws lightsail get-instance --region us-east-2 --instance-name MyJupyterComputer | jq -r '.instance.username' & aws lightsail get-instance --region us-east-2 --instance-name MyJupyterComputer | jq -r '.instance.publicIpAddress'

    回應會顯示虛擬電腦的使用者名稱和公有 IP 地址,如以下範例所示。記下這些值,因為在此程序的下一步中會用到。

    虛擬電腦的使用者名稱及公有 IP 地址。
  3. 輸入以下命令,建立與虛擬電腦的 SCP 連線並傳輸檔案。

    scp -i dkp_rsa -r 'source-folder' user-name@public-ip-address:destination-directory

    在命令中:

    • source-folder 換成本機電腦上含有要傳輸的檔案的資料夾。

    • user-name 換成此程序先前步驟的使用者名稱 (例如 ubuntu)。

    • public-ip-address 換成此程序先前步驟的虛擬電腦公有 IP 地址。

    • destination-directory 換成您想要複製檔案的虛擬電腦上的目錄路徑。

    以下範例會將本機電腦上 C:\Files 資料夾中的所有檔案複製到遠端虛擬電腦上的 /home/lightsail-user/Uploads/ 目錄。

    scp -i dkp_rsa -r 'Files' ubuntu@192.0.2.0:/home/lightsail-user/Uploads/

    您應該會看到類似於以下範例的回應。顯示從原始資料夾傳輸到目的地目錄的每個檔案。現在,您應該可以在虛擬電腦上存取這些檔案。

    對 SCP 傳輸的回應。