

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

# 使用安全複製將檔案傳輸到 Lightsail for Research 虛擬電腦
<a name="connect-using-scp"></a>

您可以使用 Secure Copy (SCP) 將檔案從本機電腦傳輸至 Amazon Lightsail for Research 中的虛擬電腦。利用此程序，您可以一次傳輸多個檔案或整個目錄。

**注意**  
您也可以使用 Lightsail for Research 主控台中提供的瀏覽器型 Amazon DCV 用戶端，建立虛擬電腦的遠端顯示通訊協定連線。使用 Amazon DCV 用戶端，您可以快速傳輸個別檔案。如需詳細資訊，請參閱[存取 Lightsail for Research 虛擬電腦的作業系統](access-computer-operating-system.md)。

**Topics**
+ [完成先決條件](#connect-using-scp-prerequisites)
+ [使用 SCP 連線至虛擬電腦](#connect-virtual-computer-using-scp)

## 完成先決條件
<a name="connect-using-scp-prerequisites"></a>

開始之前，請先完成以下先決條件：
+ 在 Lightsail for Research 中建立虛擬電腦。如需詳細資訊，請參閱[建立 Lightsail for Research 虛擬電腦](create-computer.md)。
+ 確認您想連線的虛擬電腦處於運行中狀態。此外，請記下虛擬電腦的名稱和在其中建立該虛擬電腦的 AWS 區域。您在此程序的後續步驟中會需要此資訊。如需詳細資訊，請參閱[檢視 Lightsail for Research 虛擬電腦詳細資訊](view-computer.md)。
+ 下載並安裝 AWS Command Line Interface (AWS CLI)。如需詳細資訊，請參閱《*AWS Command Line Interface 第 2 版使用者指南*》中的[安裝或更新最新版的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。
+ 設定 AWS CLI 以存取您的 AWS 帳戶。如需詳細資訊，請參閱《*AWS Command Line Interface 第 2 版使用者指南*》中的[組態基礎概念](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)。
+ 下載並安裝 jq。這是一個輕量且靈活的命令行 JSON 處理器，在以下程序中用來提取金鑰對詳細資訊。如需有關下載和安裝 jq 的詳細資訊，請參閱 *jq 網站*上的[下載 jq](https://stedolan.github.io/jq/download/)。
+ 確認您想要連線的虛擬電腦上連接埠 22 已開啟。這是 SSH 使用的預設連接埠。預設為開啟 但如果您已將其關閉，則必須重新開啟，然後再繼續。如需詳細資訊，請參閱[管理 Lightsail for Research 虛擬電腦的防火牆連接埠](manage-ports.md)。
+ 取得虛擬電腦的 Lightsail 預設金鑰對 (DKP)。如需詳細資訊，請參閱[建立 Lightsail for Research 虛擬電腦](create-computer.md)。

## 使用 SCP 連線至虛擬電腦
<a name="connect-virtual-computer-using-scp"></a>

完成以下其中一個程序，以使用 SCP 連線至 Lightsail for Research 中的虛擬電腦。

### 在 Windows 本機電腦上使用 SCP 連線至虛擬電腦
<a name="connect-using-scp-windows"></a>

如果您的本機電腦使用 Windows 作業系統，則此程序適用。此程序使用 `get-instance` AWS CLI 命令來取得您要連線之執行個體的使用者名稱和公有 IP 地址。如需詳細資訊，請參閱《*AWS CLI 命令參考*》中的 [get-instance](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-instance.html)。

**重要**  
在開始此程序之前，先確認您取得嘗試連線的虛擬電腦的 Lightsail 預設金鑰對 (DKP)。如需詳細資訊，請參閱[取得 Lightsail for Research 虛擬電腦的金鑰對](get-ssh-keys.md)。該程序會將 Lightsail DKP 的私有金鑰輸出至 `dkp_rsa` 檔案，以下其中一個命令中會使用該檔案。

1. 開啟命令提示視窗。

1. 輸入以下命令以顯示虛擬電腦的公有 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 地址。](http://docs.aws.amazon.com/zh_tw/lightsail-for-research/latest/ug/images/scp-public-ip-address-and-user-windows.png)

1. 輸入以下命令，建立與虛擬電腦的 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 傳輸的回應。](http://docs.aws.amazon.com/zh_tw/lightsail-for-research/latest/ug/images/scp-transfer-response-windows.png)

### 在 Linux、Unix 或 macOS 本機電腦上使用 SCP 連線至虛擬電腦
<a name="connect-using-scp-linux"></a>

如果您的本機電腦使用 Linux、Unix 或 macOS 作業系統，則此程序適用。此程序使用 `get-instance` AWS CLI 命令來取得您要連線之執行個體的使用者名稱和公有 IP 地址。如需詳細資訊，請參閱《*AWS CLI 命令參考*》中的 [get-instance](https://docs.aws.amazon.com/cli/latest/reference/lightsail/get-instance.html)。

**重要**  
在開始此程序之前，先確認您取得嘗試連線的虛擬電腦的 Lightsail 預設金鑰對 (DKP)。如需詳細資訊，請參閱[取得 Lightsail for Research 虛擬電腦的金鑰對](get-ssh-keys.md)。該程序會將 Lightsail DKP 的私有金鑰輸出至 `dkp_rsa` 檔案，以下其中一個命令中會使用該檔案。

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

1. 輸入以下命令以顯示虛擬電腦的公有 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 地址。](http://docs.aws.amazon.com/zh_tw/lightsail-for-research/latest/ug/images/scp-public-ip-address-and-user-linux.png)

1. 輸入以下命令，建立與虛擬電腦的 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 傳輸的回應。](http://docs.aws.amazon.com/zh_tw/lightsail-for-research/latest/ug/images/scp-transfer-response-linux.png)