

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用远程进程守护程序
<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. 在本地文件浏览器中，选择**文件系统**下拉列表，然后选择**添加远程进程守护程序**。  
![](http://docs.aws.amazon.com/zh_cn/nimble-studio/latest/filetransfer-guide/images/nsft-remote-daemon.png)

1. 在弹出屏幕中，添加**名称**、**主机**和**端口号**，然后选择**保存**。

   1. 设置有效的传输层安全性协议 (TLS) 证书。远程进程守护程序需要 TLS。要打开 TLS，请设置 TLS 证书并完成信任过程。有关如何设置 TLS 证书的指导，请联系您的 IT 管理员。  
![](http://docs.aws.amazon.com/zh_cn/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. Windows：导航到您计算机上的 `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) [NIST 特别出版物 800-63B](https://pages.nist.gov/800-63-3/sp800-63b.html) 中的密码指南设置强密钥。如果您已经有了替代的预共享密钥 (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. 可以像本地文件系统一样在远程进程守护程序上添加收藏。