

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

# 使用遠端協助程式
<a name="remote-daemon"></a>

遠端協助程式會啟動在不同機器上執行的 GUI 可以連線的精靈。（不同的機器可能是具有更多帶寬或特定訪問某些文件系統的計算機。） 您可以將資源負載轉移到另一台計算機，以免影響機器的性能。如果您有多個人在同一個應用程序上工作，這也很有File Transfer用。

**Topics**
+ [設定遠端協助程式](#remote-daemon-configure)
+ [執行遠端常駐程式](#remote-daemon-run)

## 設定遠端協助程式
<a name="remote-daemon-configure"></a>

您必須先對其進行設定，才能使用遠端精靈。您可以透過 GUI 或使用命令列介面 (CLI) 來修改組態檔進行設定。

------
#### [ GUI ]

**若要設定遠端協助程式**

1. 在本機檔案瀏覽器中，選取 [**檔案系統**] 下拉式清單，然後選擇 [**新增遠端協助程式**]。  
![\[alt text not found\]](http://docs.aws.amazon.com/zh_tw/nimble-studio/latest/filetransfer-guide/images/nsft-remote-daemon.png)

1. 在快顯畫面中，新增「**名稱**」、「**主機**」和「**連接埠號碼**」，然後選擇「**儲存**」。

   1. 設定有效的傳輸層安全性 (TLS) 憑證。TLS 是遠端協助程式設定所需的。若要開啟 TLS，請設定 TLS 憑證並執行信任程序。如需有關如何設定 TLS 憑證的指引，請聯絡您的 IT 管理員。  
![\[alt text not found\]](http://docs.aws.amazon.com/zh_tw/nimble-studio/latest/filetransfer-guide/images/nsft-remote-daemon-add.png)

1. 遠端協助程式現在會顯示在 [**檔案系統**] 下拉式清單中，可供上傳和下載。

------
#### [ CLI ]

**若要使用 CLI 設定遠端精靈**

1. 打開 File Transfer.

   1. 轉到開**始菜單**並搜索**File Transfer**。

   1. **Nimble Studio File Transfer**從清單中選取。

1. 使用電腦上的任何文字編輯軟體開啟組態檔案。

   1. 視窗：瀏覽至電腦上的資`User`料夾。開啟資`.filetransfer`料夾，然後使用文字編輯器開啟`configuration.yaml`檔案。

   1. macOS：輸入`Cmd+Shift+G`。然後輸入`~/.filetransfer`。使用文字編輯器開啟 `configuration.yaml` 檔案。

   1. Linux：使用任何文字編輯器開啟`configuration.yaml`檔案。檔案位於中`~/.filetransfer/configuration.yaml`。

1. 設定有效的傳輸層安全性 (TLS) 憑證。遠端精靈需要 TLS。

   1. 若要開啟 TLS，請設定 TLS 憑證並執行信任程序。如需有關如何設定 TLS 憑證的指引，請聯絡您的 IT 管理員。

   1. 收到 TLS 憑證之後，請修改下列設定，將它們新增至您的組態檔：

      1. `api_server.tls_enabled`：這表示遠端常駐程式是否應該嘗試使用 HTTPS 執行協助程式。若要執行遠端精靈，必須將其設定為`true`。

      1. `api_server.tls_certificate_file`：憑證檔案位置的完整路徑。

      1. `api_server.tls_key_file`：金鑰檔案位置的完整路徑。

1. (選擇性) 調整防火牆設定。防火牆設定會因您的網路、系統和其他因素而有所不同，因此沒有特定指南可以建立和調整規則。不過，建立規則時需要注意一些重要事項：

   1. 您可以變更正在使用的位址，以及正在接聽的通訊埠。您的防火牆規則必須根據下列條件進行調整：
      + 所使用的位址和連接埠。
      + 如果它是傳輸控制協議（TCP）連接。

   1. 依預設，遠端精靈會監聽透過 TCP 在連接埠 50006 上執行遠端精靈的機器的所有位址。

1. 修改組態檔案的內容，以便定義下列變數：

   1. （可選）`api_server.allowed_origins`：在此處輸入允許的任何跨來源資源共用 (CORS) 來源標頭。這些驗證了 Google 遠程過程調用（GRPC）請求的來源。

   1. `api_server.allow_ui_configuration`：這確定 GUI 是否可以對遠程守護進程的配置文件進行更改。如果設定為`false`，GUI 使用者將無法變更組態。

   1. `api_server.remote.enabled`：確定是否默認File Transfer啟動遠程守護程序。如果設定為`true`，執行`filetransfer daemon`將會啟動遠端精靈。

   1. (選擇性)`api_server.remote.ports`：要監視之遠端精靈的連接埠清單 (以逗號分隔)。如果未定義，File Transfer將使用預設連接埠 50006。

   1. (選擇性)`api_server.remote.address`：要使用的遠端協助程式位址。可以是 IP 或主機名稱。如果未定義，則File Transfer會偵聽機器上所有可用的介面。

   1. `api_server.remote.key`：GUI 使用者用來連線到遠端精靈的金鑰。我們建議您根據 NIST [特別刊物](https://pages.nist.gov/800-63-3/sp800-63b.html) 800-63B 中的美國國家標準與技術研究所 (NIST) 密碼準則設定強式金鑰。如果您已經有替代的預先共用金鑰 (PSK) 分配機制，建議您使用 128 位元金鑰。我們建議您使用由密碼編譯強式隨機位元產生器所產生的金鑰。

   1. (選用)`api_server.blocked_paths`：封鎖透過 GUI 檢視或上傳至 Amazon S3 的路徑。當遠端協助程式使用者可能不想讓 GUI 使用者擁有其檔案系統的完整存取權時，此功能特別有用。

      1. 您可以輸入絕對路徑或僅輸入資料夾名稱。不允許具有多個資料夾的相對路徑。下列兩個路徑範例會導致資料夾名稱：`Desktop`。

         1. 絕對路徑範例：`/Users/User1/Desktop`

         1. 相對路徑範例 (不允許)：`User1/Desktop`

      1. File Transfer會封鎖包含資料夾名稱或絕對路徑的任何路徑。預設封鎖的路徑：

         1. 所有作業系統：``.aws``以及 `.filetransfer`

         1. Windows: `%SYSTEMROOT%` 

         1. Linux & macOS: ``/etc``, `/dev` 

      1. 絕對路徑會被視為不區分大小寫，明確的資料夾名稱會區分大小寫。例如，也`/Users/User1/Desktop`會封鎖`/users/user1/desktop`。但是，`Desktop`不會阻止該`desktop`文件夾。

      1. 如果絕對路徑是符號鏈接，也File Transfer會阻止符號鏈接指向的路徑。但是，如果用戶阻止了作為符號鏈接的特定文件夾，則File Transfer不會檢測到符號鏈接。例如，`/Users/User1/Desktop`變成`/Users/Downloads`並且兩個路徑都被阻止。 `Desktop`變成`/Users/Downloads`，並且只`Desktop`有包含的路徑被阻止。

1. 儲存組態檔案。

下列範例是設定遠端精靈的組態檔案的一部分。

```
api_server:
    allowed_origins: ""
    allow_ui_configuration: true
    blocked_paths: 
        - .aws
        - .filetransfer
        - /dev
        - /etc
    enabled: true
        remote:
            enabled: true
            key: example_key
            ports: 50007, 50008
            address: 10.0.0.68
        tls:
            enabled: true
            certificate_file: /your/path/to/cert/server.crt
            tls_key_file: /your/path/to/cert/server.\key
```

------

## 執行遠端常駐程式
<a name="remote-daemon-run"></a>

設定遠端精靈之後，您可以使用它來執行傳輸。

**若要從 CLI 執行遠端精靈**

1. 若要啟動遠端精靈，請從主機的命令列介面 (CLI) 執行下列命令：`filetransfer daemon --remote --address=address --ports=ports`

   1. 將位*址*取代為您要傳輸的檔案位置。

   1. 將*連接埠*取代為您要傳輸目的地的連接埠。

   1. `--address`和`--ports`旗標只有在與`--remote`旗標一起使用時才有效。如果使用這些旗標，它們會覆寫組態檔案中的連接埠和位址值。如果未提供位址或連接埠旗標，且設定檔中沒有值，則遠端精靈會預設使用所有本機 IPv4 位址和連接埠 50006 

1. 成功啟動遠端協助程式會導致下列狀態訊息：`File Transfer daemon is listening on host-address on port(s) port-numbers`

**若要從 GUI 執行遠端精靈**
**注意**  
執行遠端精靈的主機必須先使用 CLI 啟動遠端精靈 (請參閱上述 CLI 指示)。

1. 在 [本機檔案瀏覽器] 中，選取 [**檔案系統**] 下拉式清單，然後選取所需的**遠端精靈。**

1. 開始上傳或下載。

1. 您可以像本地文件系統一樣在遠程守護進程上添加收藏夾。