

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

# 管理 Amazon DCV 服务器
<a name="manage"></a>

Amazon DCV 在专用服务器上运行，该服务器为客户端创建用户会话以访问其远程桌面。作为管理员，您可以管理和控制向您注册的 Amazon DCV 服务器以及服务器上托管的会话。

需要您的管理员凭证才能访问此管理功能。要启动、停止或配置 Amazon DCV 服务器，您必须以管理员 (Windows) 或根用户（Linux；macOS）的身份登录。

**Topics**
+ [启动服务器](manage-start.md)
+ [停止服务器](manage-stop.md)
+ [升级服务器](setting-up-upgrading.md)
+ [卸载服务器](setting-up-uninstalling.md)
+ [禁用 QUIC UDP](disable-quic.md)
+ [更改 TCP/UDP 端口和地址](manage-port-addr.md)
+ [管理 TLS 证书](manage-cert.md)
+ [断开连接空闲的客户端](manage-disconnect.md)
+ [在 Linux 上启用 GPU 共享](manage-gpu.md)
+ [启用触摸屏和触控笔支持](enable-stylus.md)
+ [启用游戏手柄支持](enable-gamepad.md)
+ [启用 USB 远程控制](manage-usb-remote.md)
+ [配置智能卡缓存](manage-smart-card.md)
+ [配置 WebAuthn 重定向](config-webauthn-redirect.md)
+ [启用会话存储](manage-storage.md)
+ [在 Linux 上配置打印机](manage-printer.md)
+ [在 Linux 上配置剪贴板](manage-clipboard.md)
+ [配置多声道音频](manage-audio.md)
+ [配置 HTTP 标头](manage-headers.md)
+ [配置身份验证](security-authentication.md)
+ [配置授权](security-authorization.md)
+ [为虚拟会话启用到 X 服务器的远程 X 连接](setup-xforwarding.md)
+ [将 Amazon DCV Web 浏览器客户端嵌入到 iFrame 中](embed-in-iframe.md)

# 启动 Amazon DCV 服务器
<a name="manage-start"></a>

Amazon DCV 服务器必须正在运行才能托管会话。

默认情况下，只要托管 Amazon DCV 服务器的服务器启动，Amazon DCV 服务器就会启动。如果您在安装 Amazon DCV 服务器时选择禁用自动启动，您必须手动启动服务器或再次设置自动启动。要采用任一选项，请执行以下过程之一。

------
#### [ Windows Amazon DCV server ]

使用 Microsoft 管理控制台的“服务”管理单元手动启动 Amazon DCV 服务器。

**在 Windows 上启动 Amazon DCV 服务器**

1. 打开 Microsoft 管理控制台的“服务”管理单元。

1. 在右侧窗格中，打开 **DCV 服务器**。

1. 选择**启动**。

**注意**  
如果服务器已启动并正在运行，则会禁用**启动**按钮。

使用 Microsoft 管理控制台的“服务”管理单元配置自动启动。

**在 Windows 上将 Amazon DCV 服务器配置为自动启动**

1. 打开 Microsoft 管理控制台的“服务”管理单元。

1. 在右侧窗格中，打开 **DCV 服务器**。

1. 对于**启动服务**，选择**自动**。

------
#### [ Linux Amazon DCV server ]

使用命令行手动启动 Amazon DCV 服务器。

**在 Linux 上启动 Amazon DCV 服务器**  
使用以下命令：
+ RHEL、CentOS、SUSE Linux Enterprise 12 和 Ubuntu 18.x

  ```
  $ sudo systemctl start dcvserver
  ```

使用命令行将 Amazon DCV 服务器配置为自动启动。

**在 Linux 上将 Amazon DCV 服务器配置为自动启动**  
使用以下命令：
+ RHEL、CentOS、SUSE Linux Enterprise 12 和 Ubuntu 18.x

  ```
  $ sudo systemctl enable dcvserver
  ```

------
#### [ macOS Amazon DCV server ]

使用命令行手动启动 Amazon DCV 服务器。

**在 macOS 上启动 Amazon DCV 服务器**  
使用以下命令：
+ 

  ```
  $ sudo launchctl start com.amazon.dcv.server.dcvserver
  ```

使用命令行将 Amazon DCV 服务器配置为自动启动。

**将 Amazon DCV 服务器配置为在 macOS 上自动启动**  
使用以下命令：
+ 

  ```
  $ sudo launchctl enable system/com.amazon.dcv.server.dcvserver
  ```

------

# 停止 Amazon DCV 服务器
<a name="manage-stop"></a>

您可以随时停止 Amazon DCV 服务器。停止服务器将终止所有活动的 Amazon DCV 会话。在重新启动服务器之前，您无法启动新的会话。

------
#### [ Windows Amazon DCV server ]

使用 Microsoft 管理控制台的“服务”管理单元手动停止 Amazon DCV 服务器。

**在 Windows 上停止 Amazon DCV 服务器**

1. 打开 Microsoft 管理控制台的“服务”管理单元。

1. 在右侧窗格中，打开 **DCV 服务器**。

1. 选择**停止**。

**注意**  
如果服务器已停止，则**停止**按钮处于禁用状态。

使用 Microsoft 管理控制台的“服务”管理单元禁用自动启动。

**在 Windows 上禁止自动启动 Amazon DCV 服务器**

1. 打开 Microsoft 管理控制台的“服务”管理单元。

1. 在右侧窗格中，打开 **DCV 服务器**。

1. 对于**启动服务**，选择**手动**。

------
#### [ Linux Amazon DCV server ]

使用命令行停止 Amazon DCV 服务器。

**在 Linux 上停止 Amazon DCV 服务器**  
使用以下命令：

```
$ sudo systemctl stop dcvserver
```

使用命令行禁用 Amazon DCV 服务器自动启动。

**在 Linux 上禁止自动启动 Amazon DCV 服务器**  
使用以下命令：

```
$ sudo systemctl disable dcvserver
```

------
#### [ macOS Amazon DCV server ]

使用命令行停止 Amazon DCV 服务器。

**在 macOS 上停止 Amazon DCV 服务器**  
使用以下命令：

```
$ sudo launchctl stop com.amazon.dcv.server.dcvserver
```

使用命令行禁用 Amazon DCV 服务器自动启动。

**防止 Amazon DCV 服务器在 macOS 上自动启动**  
使用以下命令：

```
$ sudo launchctl disable system/com.amazon.dcv.server.dcvserver
```

------

# 升级 Amazon DCV 服务器
<a name="setting-up-upgrading"></a>

以下主题介绍了如何升级 Amazon DCV 服务器。

**Topics**
+ [兼容性注意事项](#compatibility-considerations)
+ [在 Windows 上升级 Amazon DCV 服务器](#upgrading-windows-upgrade)
+ [在 Linux 上升级 Amazon DCV 服务器](#upgrading-linux)
+ [在 macOS 上升级 Amazon DCV 服务器](#upgrading-macos)

## 兼容性注意事项
<a name="compatibility-considerations"></a>

Amazon DCV Server 2017 和更高版本与 Amazon DCV Client 2017 和更高版本兼容。

**注意**  
有关本地服务器和不基于 EC2 的服务器的 Amazon DCV 服务器许可兼容性要求的信息，请参阅[许可要求](setting-up-license.md#licensing-requirements)。

## 在 Windows 上升级 Amazon DCV 服务器
<a name="upgrading-windows-upgrade"></a>

**在 Windows 上升级 Amazon DCV 服务器**

1. 通过使用 RDP 客户端，以管理员身份连接到 Amazon DCV 服务器。

1. 确保不存在正在运行的 Amazon DCV 会话。使用 `dcv list-sessions` Amazon DCV 命令检查是否有任何运行的会话。如果有运行的会话，请使用 `dcv close-session` Amazon DCV 命令将其停止。

1. 在确认没有运行的会话后，停止 Amazon DCV 服务器。有关更多信息，请参阅 [停止 Amazon DCV 服务器](manage-stop.md)。

1. 对 Amazon DCV 服务器配置进行备份。**打开注册表编辑器，导航到 **HKEY\$1 USERS/S-1-5-18/Software/GSettings/com/nicesoftware/dcv**，右键单击 **dcv** 密钥，然后选择导出。**

1. 从 [Amazon](http://download.amazondcv.com) 网站中下载最新版本的 Amazon DCV 服务器。

1. 执行[使用向导](setting-up-installing-wininstall.md#setting-up-installing-windows-wizard)中所述的步骤，从步骤 3 开始。

1. 在安装完成后，确认 Amazon DCV 服务器配置仍然正确。打开注册表编辑器，导航到 **HKEY\$1**，USERS/S-1-5-18/Software/GSettings/com/nicesoftware/dcv然后将参数与您在步骤 4 中导出的配置进行比较。

1. 启动新的 Amazon DCV 会话以测试 Amazon DCV 服务器。有关更多信息，请参阅 [启动 Amazon DCV 会话](managing-sessions-start.md)。

## 在 Linux 上升级 Amazon DCV 服务器
<a name="upgrading-linux"></a>

**在 Linux 上升级 Amazon DCV 服务器**

1. 使用 SSH 通过 `root` 用户登录到服务器。

1. 确保不存在正在运行的 Amazon DCV 会话。使用 `dcv list-sessions` Amazon DCV 命令检查是否有任何运行的会话。如果有运行的会话，请使用 `dcv close-session` Amazon DCV 命令将其停止。

1. 在确认没有运行的会话后，停止 Amazon DCV 服务器。有关更多信息，请参阅 [停止 Amazon DCV 服务器](manage-stop.md)。

1. 对 Amazon DCV 服务器配置进行备份。将 `/etc/dcv/dcv.conf` 文件复制到安全位置。

1. 执行[安装 Amazon DCV 服务器](setting-up-installing-linux-server.md#linux-server-install)中所述的步骤。

1. 在安装完成后，确认 Amazon DCV 服务器配置仍然正确。打开您在步骤 4 中复制的文件，并将该文件与 `/etc/dcv/dcv.conf` 文件进行比较。

1. 启动新的 Amazon DCV 会话以测试 Amazon DCV 服务器。有关更多信息，请参阅 [启动 Amazon DCV 会话](managing-sessions-start.md)。

## 在 macOS 上升级 Amazon DCV 服务器
<a name="upgrading-macos"></a>

**在 macOS 上升级 Amazon DCV 服务器**

1. 使用 SSH 使用根用户登录服务器。

1. 确保不存在正在运行的 Amazon DCV 会话。使用 `dcv list-sessions` Amazon DCV 命令检查是否有任何运行的会话。如果有运行的会话，请使用 `dcv close-session` Amazon DCV 命令将其停止。

1. 在确认没有运行的会话后，停止 Amazon DCV 服务器。有关更多信息，请参阅 [停止 Amazon DCV 服务器](manage-stop.md)。

1. 对 Amazon DCV 服务器配置进行备份。将 `/etc/dcv/dcv.conf` 文件复制到安全位置。

1. 执行[在 macOS 上安装亚马逊 DCV 服务器](setting-up-installing-macos.md)中所述的步骤。

1. 在安装完成后，确认 Amazon DCV 服务器配置仍然正确。打开您在步骤 4 中复制的文件，并将该文件与 `/etc/dcv/dcv.conf` 文件进行比较。

1. 启动新的 Amazon DCV 会话以测试 Amazon DCV 服务器。有关更多信息，请参阅 [启动 Amazon DCV 会话](managing-sessions-start.md)。

# 卸载 Amazon DCV 服务器
<a name="setting-up-uninstalling"></a>

以下主题介绍了如何卸载 Amazon DCV 服务器。

**Topics**
+ [在 Windows 上卸载 Amazon DCV 服务器](#uninstalling-windows)
+ [在 Linux 上卸载 Amazon DCV 服务器](#uninstalling-linux)
+ [在 macOS 上卸载亚马逊 DCV 服务器](#uninstalling-macos)

## 在 Windows 上卸载 Amazon DCV 服务器
<a name="uninstalling-windows"></a>

**在 Windows 上卸载 Amazon DCV 服务器**

1. 通过使用 RDP 客户端，以管理员身份连接到 Amazon DCV 服务器。

1. 确保不存在正在运行的 Amazon DCV 会话。使用 `dcv list-sessions` Amazon DCV 命令检查是否有任何运行的会话。如果有运行的会话，请使用 `dcv close session` Amazon DCV 命令将其停止。

1. 在确认没有运行的会话后，停止 Amazon DCV 服务器。有关更多信息，请参阅 [停止 Amazon DCV 服务器](manage-stop.md)。

1. 打开 Windows **设置**应用程序，并导航到**应用程序和功能**面板。

1. 选择 Amazon DCV 服务器，然后按**卸载**。

1. （可选）您可能还希望删除 Amazon DCV 服务器生成的任何日志文件。卸载完成后，导航到 **C:\$1\$1 NICEProgramData\$1 dcv\$1** 并删除**日志文件**夹。

## 在 Linux 上卸载 Amazon DCV 服务器
<a name="uninstalling-linux"></a>

Amazon DCV 服务器是使用一系列 RPM 或 .deb 软件包安装的，具体取决于主机服务器的操作系统。

**注意**  
您必须以根用户身份登录才能卸载 Amazon DCV 服务器。

**在 Linux 上卸载 Amazon DCV 服务器**

1. 确保不存在正在运行的 Amazon DCV 会话。使用 `dcv list-sessions` Amazon DCV 命令检查是否有任何运行的会话。如果有运行的会话，请使用 `dcv close session` Amazon DCV 命令将其停止。

1. 在确认没有运行的会话后，停止 Amazon DCV 服务器。有关更多信息，请参阅 [停止 Amazon DCV 服务器](manage-stop.md)。

1. 卸载 Amazon DCV 服务器软件包。根据您执行安装的方式，可能未在您的系统上安装某些软件包，可以从命令中省略这些软件包。有关可选的软件包列表，请参阅[在 Linux 上安装 Amazon DCV 服务器](setting-up-installing-linux.md)。

------
#### [ Amazon Linux 2 and RHEL, CentOS ]

   ```
   $ sudo yum remove nice-dcv-server nice-xdcv nice-dcv-gl nice-dcv-gltest nice-dcv-simple-external-authenticator
   ```

------
#### [ SLES 12.x/15.x ]

   ```
   $ sudo zypper remove nice-dcv-server nice-xdcv nice-dcv-gl nice-dcv-gltest nice-dcv-simple-external-authenticator
   ```

------
#### [ Ubuntu 22.04 ]

   ```
   $ sudo apt remove nice-dcv-server nice-xdcv nice-dcv-gl nice-dcv-gltest nice-dcv-simple-external-authenticator
   ```

------

1. （可选）您可能还希望删除 Amazon DCV 服务器生成的任何日志文件。在卸载完成后，导航到 **/var/log** 并删除 **dcv** 文件夹。

## 在 macOS 上卸载亚马逊 DCV 服务器
<a name="uninstalling-macos"></a>

**注意**  
您必须以根用户身份登录才能卸载 Amazon DCV 服务器。

**在 macOS 上卸载 Amazon DCV 服务器**

1. 确保不存在正在运行的 Amazon DCV 会话。使用 `dcv list-sessions` Amazon DCV 命令检查是否有任何运行的会话。如果有运行的会话，请使用 `dcv close session` Amazon DCV 命令将其停止。

1. 在确认没有运行的会话后，停止 Amazon DCV 服务器。有关更多信息，请参阅 [停止 Amazon DCV 服务器](manage-stop.md)。

1. 使用以下命令删除 Amazon DCV 服务器软件包：

   ```
   $ sudo rm -rf /Applications/DCV Server.app
   ```

1. （可选）您可能还希望删除 Amazon DCV 服务器生成的任何日志文件。在卸载完成后，导航到 **/var/log** 并删除 **dcv** 文件夹。

# 禁用 QUIC UDP 传输协议
<a name="disable-quic"></a>

默认情况下，从版本 2024.0 开始，Amazon DCV 既支持基于 TCP 的 WebSocket 协议，也支持基于 UDP 进行数据传输的 QUIC 协议。

QUIC 传输协议基于 UDP。如果您的网络出现较高的延迟和丢失数据包，使用 QUIC 可能会提高性能。使用 QUIC，服务器将继续使用 WebSocket 身份验证流量。

**注意**  
只有在您的网络和安全配置允许 UDP 流量时，您才能使用 QUIC。

如果启用 QUIC，客户端可以在连接到 Amazon DCV 服务器会话时使用 QUIC 协议传输数据。如果客户端在连接时不使用 QUIC 协议，则会使用 WebSocket。有关 QUIC 协议的更多信息，请参阅《Amazon DCV 用户指南》中的[连接到 Amazon DCV 会话](https://docs.aws.amazon.com/dcv/latest/userguide/using-connecting.html)。**

------
#### [ Windows Amazon DCV server ]

**在 Amazon DCV 中禁止使用 QUIC（UDP）进行数据传输**

1. 打开 Windows 注册表编辑器并导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1** dcv\$1 connectivity\$1 key。

1. 打开**enable-quic-frontend**参数。对于**值数据**，输入 `0`。
**注意**  
如果找不到该参数，请创建一个新的 DWORD（32 位）参数并将其命名为 `enable-quic-frontend`。

1. 关闭 Windows 注册表编辑器。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ Linux Amazon DCV server ]

**在 Amazon DCV 中禁止使用 QUIC（UDP）进行数据传输**

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 请在 `[connectivity]` 部分执行以下操作：
   + 对于 `enable-quic-frontend`，请指定 `false`。

   ```
   [connectivity]
   enable-quic-frontend=false
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ macOS Amazon DCV server ]

**在 Amazon DCV 中禁止使用 QUIC（UDP）进行数据传输**

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 请在 `[connectivity]` 部分执行以下操作：
   + 对于 `enable-quic-frontend`，请指定 `false`。

   ```
   [connectivity]
   enable-quic-frontend=false
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------

# 更改 Amazon DCV 服务器 TCP/UDP 端口和监听地址
<a name="manage-port-addr"></a>

默认情况下，Amazon DCV 服务器配置为侦听 TCP 端口 `8443`，并在运行该服务器的主机中的任何网络接口上进行通信。

您可以在安装 Amazon DCV 服务器后指定自定义 TCP 端口。如果将 Amazon DCV 服务器配置为[启用 QUIC](disable-quic.md)，您也可以为 QUIC 流量指定自定义 UDP 端口。端口号必须大于 1024。

您可以指定 Amazon DCV 服务器侦听的网络地址。例如，这允许您指定是只使用 IPv4 还是 IPv6 应该使用。这还允许您将服务器绑定到特定的网络接口，并确保流量流经特定的网络。

**重要**  
每次您对 Amazon DCV 服务器的网络配置进行更改时，请确保向客户端通知更改，例如，客户端需要知道用于连接到会话的端口号。

**提示**  
另一种控制向客户端公开的网络地址和端口的方法是，将 [Amazon DCV Connection Gateway](https://docs.aws.amazon.com/dcv/latest/gw-admin/what-is-gw.html) 或其他 Web 代理或负载均衡器作为服务器的前端。在通过网关访问您的 Amazon DCV 服务器主机时，您可以将单个地址用于服务器。这还允许使用低于 1024 的端口号，包括 443（用于 HTTPS 的标准端口号）。  
有关配置其网络地址和端口的更多信息，请参阅网关文档。

**Topics**
+ [更改服务器 TCP/UDP 端口](#manage-ports)
+ [侦听特定的终端节点](#manage-listen-endpoints)

## 更改 Amazon DCV 服务器端口 TCP/UDP
<a name="manage-ports"></a>

------
#### [ Windows Amazon DCV server ]

要更改 Amazon DCV 服务器使用的端口，请使用 Windows 注册表编辑器配置 `web-port` 和 `quic-port` 参数。

**在 Windows 上更改服务器的端口**

1. 打开 Windows 注册表编辑器。

1. 导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1 dcv\$1 connec** tivity/ 密钥。

1. 要配置 TCP 端口，请选择 **web-port** 参数。

   如果在注册表项中没有 `web-port` 参数，请创建该参数：

   1. 在导航窗格中，打开 **connectivity** 项的上下文（右键单击）菜单。然后，选择**新建** > **DWORD（32 位）值**。

   1. 对于**名称**，输入 `web-port` 并按 **Enter**。

1. 打开 **web-port** 参数。对于**值数据**，输入新的 TCP 端口号。如果未配置该参数，则 Amazon DCV 服务器默认使用 TCP 端口 8443。
**注意**  
TCP 端口号必须高于 1024。

1. 如果启用了 QUIC，要配置 UDP 端口，请选择 **quic-port** 参数。

   如果在注册表项中没有 `quic-port` 参数，请创建该参数：

   1. 在导航窗格中，打开 **connectivity** 项的上下文（右键单击）菜单。然后，选择**新建** > **DWORD（32 位）值**。

   1. 对于**名称**，输入 `quic-port` 并按 **Enter**。

1. 打开 **quic-port** 参数。对于**值数据**，输入新的 UDP 端口号。如果未配置该参数并启用了 QUIC 支持，则 Amazon DCV 服务器默认使用 UDP 端口 8443。
**注意**  
UDP 端口号必须大于 1024。

1. 选择**确定**，并关闭 Windows 注册表编辑器。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ Linux Amazon DCV server ]

要更改 Amazon DCV 服务器使用的端口，请在 `dcv.conf` 文件中配置 `web-port` 和 `quic-port` 参数。

**在 Linux 上更改服务器的端口**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 在 `[connectivity]` 部分中找到 `web-port` 参数。然后，将现有的 TCP 端口号替换为新的 TCP 端口号。

   如果在 `[connectivity]` 部分中没有 `web-port` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
   web-port=port_number
   ```
**注意**  
TCP 端口号必须为 1024 或更高。

1. 在 `[connectivity]` 部分中找到 `quic-port` 参数。然后，将现有的 UDP 端口号替换为新的 UDP 端口号。

   如果在 `[connectivity]` 部分中没有 `quic-port` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
   quic-port=port_number
   ```
**注意**  
UDP 端口号必须为 1024 或更高。

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ macOS Amazon DCV server ]

要更改 Amazon DCV 服务器使用的端口，请在 `dcv.conf` 文件中配置 `web-port` 和 `quic-port` 参数。

**在 macOS 上更改服务器的端口**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 在 `[connectivity]` 部分中找到 `web-port` 参数。然后，将现有的 TCP 端口号替换为新的 TCP 端口号。

   如果在 `[connectivity]` 部分中没有 `web-port` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
   web-port=port_number
   ```
**注意**  
TCP 端口号必须为 1024 或更高。

1. 在 `[connectivity]` 部分中找到 `quic-port` 参数。然后，将现有的 UDP 端口号替换为新的 UDP 端口号。

   如果在 `[connectivity]` 部分中没有 `quic-port` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
   quic-port=port_number
   ```
**注意**  
UDP 端口号必须为 1024 或更高。

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------

## 侦听特定的终端节点
<a name="manage-listen-endpoints"></a>

要仅侦听特定的网络地址，您可以在 Amazon DCV 服务器配置中设置 `web-listen-endpoints` 和 `quic-listen-endpoints` 参数。

每个端点都由 IPv4 或 IPv6 地址表示，后面可以选择用端口号分隔`:`。在终端节点中指定的端口号优先于 `web-port` 和 `quic-port` 参数中指定的端口。

由于可以指定多个终端节点，因此，一组终端节点由以逗号分隔的列表表示并用方括号括起来，其中的每个终端节点用单引号引起来。例如，`['0.0.0.0:8443', '[::]:8443']`表示任何本地 IPv4地址和任何本地 IPv6 地址，均位于端口 8443 上，`'[::%1]:8443'`表示绑定到 Windows 主机上索引为 1 的网络接口 IPv6 的地址，`'[::%eth1]:8443'`表示绑定到 Linux 主机上`eth1`网络接口的地址。 IPv6 

**注意**  
这些配置参数仅从 Amazon DCV Server 2022.0 开始提供。

------
#### [ Windows Amazon DCV server ]

**在 Windows 上更改服务器的终端节点**

1. 打开 Windows 注册表编辑器。

1. 导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1 dcv\$1** Connectivity\$1 key。

1. 要配置 TCP 端点，请选择**web-listen-endpoints**参数。

   如果在注册表项中没有 `web-listen-endpoints` 参数，请创建该参数：

   1. 在导航窗格中，打开 **connectivity** 项的上下文（右键单击）菜单。然后，选择**新建** > **字符串值**。

   1. 对于**名称**，输入 `web-listen-endpoints` 并按 **Enter**。

1. 打开**web-listen-endpoints**参数。对于**值数据**，输入终端节点列表。

1. 如果启用了 QUIC，则要配置 UDP 端点，请选择参数。**quic-listen-endpoints**

   如果在注册表项中没有 `quic-listen-endpoints` 参数，请创建该参数：

   1. 在导航窗格中，打开 **connectivity** 项的上下文（右键单击）菜单。然后，选择**新建** > **字符串值**。

   1. 对于**名称**，输入 `quic-listen-endpoints` 并按 **Enter**。

1. 打开**quic-listen-endpoints**参数。对于**值数据**，输入终端节点列表。

1. 选择**确定**，并关闭 Windows 注册表编辑器。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ Linux Amazon DCV server ]

**在 Linux 上更改服务器的终端节点**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 在 `[connectivity]` 部分中找到 `web-listen-endpoints` 参数。然后，替换现有的终端节点列表。

   如果在 `[connectivity]` 部分中没有 `web-listen-endpoints` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
   web-listen-endpoints=[endpoint1, endpoint2]
   ```

1. 在 `[connectivity]` 部分中找到 `quic-listen-endpoints` 参数。然后，替换现有的终端节点列表。

   如果在 `[connectivity]` 部分中没有 `quic-listen-endpoints` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
   quic-listen-endpoints=[endpoint1, endpoint2]
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ macOS Amazon DCV server ]

**在 macOS 上更改服务器的终端节点**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 在 `[connectivity]` 部分中找到 `web-listen-endpoints` 参数。然后，替换现有的终端节点列表。

   如果在 `[connectivity]` 部分中没有 `web-listen-endpoints` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
   web-listen-endpoints=[endpoint1, endpoint2]
   ```

1. 在 `[connectivity]` 部分中找到 `quic-listen-endpoints` 参数。然后，替换现有的终端节点列表。

   如果在 `[connectivity]` 部分中没有 `quic-listen-endpoints` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
   quic-listen-endpoints=[endpoint1, endpoint2]
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------

# 管理 TLS 证书
<a name="manage-cert"></a>

Amazon DCV 自动生成自签名证书，用于保护 Amazon DCV 客户端和 Amazon DCV 服务器之间的流量。默认情况下，如果未安装其他证书，则使用该证书。默认证书包含两个文件。它们是证书本身（`dcv.pem)` 和密钥（`dcv.key`）。有关详细信息，请参阅[自签名证书的重定向说明](redirection-clarifications-with-self-signed-certs.md)。

在 DCV 客户端用户连接到服务器时，他们可能会收到服务器证书警告，他们可以在建立连接之前验证服务器证书。

如果他们使用 Web 浏览器进行连接，则浏览器可能会警告客户端用户不要轻易信任服务器的证书，并提醒他们应与管理员联系以确认证书的真实性。

同样，如果他们使用 Windows、Linux 或 macOS 客户端，可能会建议他们向 Amazon DCV 服务器管理员确认给定证书的指纹。

要验证其证书指纹的真实性，请运行 `dcv list-endpoints -j` 并对照其证书指纹检查输出。

您可以将默认 Amazon DCV 证书及其密钥替换为您自己的证书和密钥。

在您生成自己的证书时，请选择满足您的特定需求的证书属性。大多数情况下，`CN (Common Name)` 属性必须与主机的公有主机名匹配。您可能还希望指定 `SAN (Subject Alternative Name)` 属性，并将其设置为主机的 IP 地址。

有关如何生成证书的说明，请参阅特定证书颁发机构的文档。

**重要**  
如果您使用自己的证书和密钥，您必须将证书命名为 `dcv.pem`，并将密钥命名为 `dcv.key`。

------
#### [ Windows Amazon DCV server ]

**在 Windows 上更改服务器的 TLS 证书**
+ 将证书及其密钥放置在 Windows Amazon DCV 服务器上的以下位置中：

  ```
  C:\Windows\System32\config\systemprofile\AppData\Local\NICE\dcv\
  ```

------
#### [ Linux Amazon DCV server ]

**在 Linux 上更改服务器的 TLS 证书**

1. 将证书及其密钥放置在 Linux Amazon DCV 服务器上的以下位置中：

   ```
   /etc/dcv/
   ```

1. 将这两个文件的所有权授予 `dcv` 用户，并将其权限更改为 600（只有所有者可以读取或写入它们）。

   ```
   $  sudo chown dcv dcv.pem dcv.key
   ```

   ```
   $  sudo chmod 600 dcv.pem dcv.key
   ```

------
#### [ macOS Amazon DCV server ]

**在 macOS 上更改服务器的 TLS 证书**

1. 将证书及其密钥放在您的 macOS Amazon DCV 服务器上的以下位置：

   ```
   /etc/dcv/
   ```

1. 将这两个文件的所有权授予 `dcv` 用户，并将其权限更改为 600（只有所有者可以读取或写入它们）。

   ```
   $  sudo chown dcv dcv.pem dcv.key
   ```

   ```
   $  sudo chmod 600 dcv.pem dcv.key
   ```

------

**注意**  
从 Amazon DCV 2022.0 开始，如果您在 Amazon DCV 服务器运行时更新证书文件，将自动重新加载新证书。对于以前版本的 Amazon DCV，您需要手动[停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

# 断开连接空闲的客户端
<a name="manage-disconnect"></a>

您可以配置 Amazon DCV 以断开连接空闲的客户端。更具体地说，您可以为在特定时间段内未向 Amazon DCV 服务器发送任何键盘或指针输入的客户端执行该操作。默认情况下，在 Amazon DCV 客户端处于空闲状态 60 分钟（1 小时）后，Amazon DCV 服务器将其断开连接。

某些操作会重置空闲断开连接超时时间。如果发生以下任一操作，则空闲超时时间将重置为其设定的时间范围：
+ 移动鼠标
+ 按下鼠标按钮或滚动鼠标滚轮
+ 按下键盘上的任意键
+ 触摸触摸屏（如果启用）
+ 使用触控笔（如果启用）
+ 使用游戏手柄（如果启用）
+ 使用网络摄像头进行流式传输（如果启用）
+ 任何文件存储操作，例如上传文件、创建目录、下载文件或列出项目

**注意**  
连接和使用任何音频设备都不会重置空闲超时时间。

您也可以将 Amazon DCV 服务器配置为向空闲客户端发送通知。该通知旨在通知客户端，即将断开连接客户端的会话。仅 Amazon DCV 服务器和客户端 2017.4 和更高版本支持超时通知。

您可以使用以下过程来指定自定义空闲超时期限。

------
#### [ Windows Amazon DCV server ]

要更改 Amazon DCV 服务器的空闲超时期限，您必须使用 Windows 注册表编辑器配置 `idle-timeout` 参数。

**在 Windows 上更改空闲超时期限**

1. 打开 Windows 注册表编辑器。

1. **导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1 dcv\$1 connectivity\$1 key，然后选择空闲超**时参数。**

   如果找不到该参数，请使用以下步骤创建该参数：

   1. 在导航窗格中，打开 **connectivity** 项的上下文（右键单击）菜单。然后，选择**新建** > **DWORD（32 位）值**。

   1. 对于**名称**，输入 `idle-timeout` 并按 **Enter**。

1. 打开 **idle-timeout** 参数。对于**值数据**，输入空闲超时期限的值（以分钟为单位，十进制）。要避免断开空闲客户端的连接，请输入 `0`。

1. 选择**确定**，并关闭 Windows 注册表编辑器。

**（可选）将 Amazon DCV 服务器配置为向空闲客户端发送超时通知**

1. 导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1 dcv\$1 connectivity\$1 key，然后选择参数**。**idle-timeout-warning**

   如果找不到该参数，请使用以下步骤创建该参数：

   1. 在导航窗格中，打开 **connectivity** 项的上下文（右键单击）菜单。然后，选择**新建** > **DWORD（32 位）值**。

   1. 对于**名称**，输入 `idle-timeout-warning` 并按 **Enter**。

1. 打开**idle-timeout-warning**参数。对于**值数据**，输入断开连接之前发送关联警告通知的秒数（十进制）。例如，如果您希望在达到空闲超时前两分钟发送通知，请输入 `120`。

1. 选择**确定**，并关闭 Windows 注册表编辑器。

------
#### [ Linux Amazon DCV server ]

要更改 Amazon DCV 服务器的空闲超时期限，您必须在 `dcv.conf` 文件中配置 `idle-timeout` 参数。

**在 Linux 上更改空闲超时期限**

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 在 `[connectivity]` 部分中找到 `idle-timeout` 参数。然后，将现有的超时期限替换为新的超时期限（以分钟为单位，十进制）。

   如果在 `[connectivity]` 部分中没有 `idle-timeout` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
     idle-timeout=timeout_in_minutes
   ```

   要避免断开空闲客户端的连接，请输入 `0`。

1. 保存并关闭 文件。

**（可选）将 Amazon DCV 服务器配置为向空闲客户端发送超时通知**

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 将 `idle-timeout-warning` 参数添加到 `[connectivity]` 部分中，并指定断开连接之前发送关联警告通知的秒数（十进制）。

   ```
   idle-timeout-warning=seconds_before_idle_timeout
   ```

   例如，如果您希望在达到空闲超时前的两分钟发送通知，请指定 `120`。

1. 保存并关闭 文件。

------
#### [ macOS Amazon DCV server ]

要更改 Amazon DCV 服务器的空闲超时期限，您必须在 `dcv.conf` 文件中配置 `idle-timeout` 参数。

**在 macOS 上更改空闲超时时间**

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 在 `[connectivity]` 部分中找到 `idle-timeout` 参数。然后，将现有的超时期限替换为新的超时期限（以分钟为单位，十进制）。

   如果在 `[connectivity]` 部分中没有 `idle-timeout` 参数，请按以下格式手动添加该参数：

   ```
   [connectivity]
     idle-timeout=timeout_in_minutes
   ```

   要避免断开空闲客户端的连接，请输入 `0`。

1. 保存并关闭 文件。

**（可选）将 Amazon DCV 服务器配置为向空闲客户端发送超时通知**

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 将 `idle-timeout-warning` 参数添加到 `[connectivity]` 部分中，并指定断开连接之前发送关联警告通知的秒数（十进制）。

   ```
   idle-timeout-warning=seconds_before_idle_timeout
   ```

   例如，如果您希望在达到空闲超时前的两分钟发送通知，请指定 `120`。

1. 保存并关闭 文件。

------

# 在 Linux Amazon DCV 服务器上启用 GPU 共享
<a name="manage-gpu"></a>

通过 GPU 共享，您可以在多个 Amazon DCV 虚拟会话 GPUs 之间共享一个或多个物理会话。有关会话的更多信息，请参阅[管理 Amazon DCV 会话](managing-sessions.md)。通过使用 GPU 共享，您可以使用单个 Amazon DCV 服务器，并托管多个共享该服务器的物理 GPU 资源的虚拟会话。

**注意**  
GPU 共享仅在 Linux Amazon DCV 服务器上受支持。

**先决条件**

在开始之前，请满足以下先决条件：
+ 在 Linux 服务器上安装 Amazon DCV 服务器。
+ 在服务器上安装 Amazon DCV `dcv-gl` 和 `nice-Xdcv` 软件包。
+ 确保服务器至少具有一个支持的 NVIDIA GPU。
+ 在服务器上安装 NVIDIA GPU 驱动程序。需要具有正式的 NVIDIA 驱动程序。不支持开源 NVIDIA 驱动程序。
+ 确保 NVIDIA GPU 驱动程序支持硬件加速的 OpenGL。
+ 安装 X 服务器，并配置 `xorg.conf` 文件中的 `Device` 和 `Screen` 部分。
**注意**  
您可以使用 `nvidia-xconfig` NVIDIA 实用程序自动创建`xorg.conf`文件并将其配置为所有可用的 NVIDIA GPUs。
+ 确保 X 服务器正在运行。
+ （可选）运行 `dcvgldiag` 工具以验证 Amazon DCV 服务器配置。有关更多信息，请参阅 [执行安装后检查](setting-up-installing-linux-checks.md)。

  您也可以安装 `nice-dcv-gltest` 软件包，并运行 `dcvgltest` 测试应用程序以检查是否为服务器正确配置了 GPU 共享。

要启用 GPU 共享，必须指定虚拟会话 GPUs 要使用的列表。如果未指定 GPUs，则仅使用标准 X 服务器使用的 GPU（显示名称`:0.0`）。

完成本 GPUs 主题前面介绍的先决条件后，在`dcv.conf`文件中的`gl-displays`参数中指定。

**在 Linux Amazon DCV 服务器上启用 GPU 共享**

1. 导航到 `/etc/dcv/`，并使用您的首选文本编辑器打开 `dcv.conf` 文件。

1. 添加 `[display/linux]` 部分和 `gl-displays` 参数。然后，按以下格式指定可用 GPUs 的：

   ```
   [display/linux]
   gl-displays = [':xserver_port.screen_number_1',':xserver_port.screen_number_2', ...]
   ```

   服务器在哪里*xserver\$1port*，*screen\$1number*是与 GPU 相关的屏幕关联的数字。 *screen\$1number*从... 开始`0`。

   以下示例显示了在默认 X Server 会话中 GPUs 运行的两个`gl-displays`参数的参数：

   ```
   [display/linux]
   gl-displays = [':0.0',':0.1']
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

# 启用触摸屏和触控笔支持
<a name="enable-stylus"></a>

**注意**  
 触摸屏和触控笔设备不需要使用 USB 重定向。此外，不需要在 Amazon DCV 服务器上安装任何供应商驱动程序。  
Amazon DCV 使用原生操作系统支持触摸屏和触控笔。 APIs  
Windows 使用 Windows Ink。  
Linux 使用 X11 输入注入。
+ **Windows 服务器支持**

  在所有支持的 Windows 操作系统上支持触摸屏。从 Windows 10 和 Windows 2019 开始，在所有支持的 Windows 操作系统上支持触控笔，但在 Windows 2016、Windows 8.1 和更早版本上不支持触控笔。默认情况下，在 Windows Amazon DCV 服务器上启用了这些特征。无需其他配置。
+ **Linux 服务器支持**

  在所有支持的 Linux 操作系统上支持触摸屏和触控笔。默认情况下，已在 Linux Amazon DCV 服务器上托管的虚拟会话上启用这些特征。但是，需要一些额外配置才能在 Linux Amazon DCV 服务器上托管的控制台会话上启用这些特征。

**重要**  
 如果*在客户端和服务器上*均支持触摸屏和触控笔特征，并且在服务器上启用了该特征，则允许在 Amazon DCV 中使用触摸屏和触控笔。有关客户端支持的信息，请参阅《Amazon DCV 用户指南》中的[客户端特征](https://docs.aws.amazon.com/dcv/latest/userguide/client.html#client-features)。**

**为 Linux Amazon DCV 服务器上托管的控制台会话启用触摸屏和触控笔支持**

1. 使用所需的文本编辑器打开 `/etc/X11/xorg.conf`。

1. 将以下部分添加到此文件中。

   ```
   Section "InputDevice"
     Identifier "DCV Stylus Pen"
     Driver "dcvinput"
   EndSection
   
   Section "InputDevice"
     Identifier "DCV Stylus Eraser"
     Driver "dcvinput"
   EndSection
   
   Section "InputDevice"
     Identifier "DCV Touchscreen"
     Driver "dcvinput"
   EndSection
   ```

1. 将以下内容添加到 `ServerLayout` 部分的末尾。

   ```
   InputDevice  "DCV Stylus Pen"
   InputDevice  "DCV Stylus Eraser"
   InputDevice  "DCV Touchscreen"
   ```

   例如：

   ```
   Section "ServerLayout"
     ...existing content...
     InputDevice  "DCV Stylus Pen"
     InputDevice  "DCV Stylus Eraser"
     InputDevice  "DCV Touchscreen"
   EndSection
   ```

1. 保存更改并关闭该文件。

1. 重新启动 X 服务器。
   + RHEL、Rocky、CentOS、Amazon Linux 2、Ubuntu 和 SUSE Linux Enterprise 12.x

     ```
     $ sudo systemctl isolate multi-user.target
     ```

     ```
     $ sudo systemctl isolate graphical.target
     ```

1. 要确保正确配置输入设备，请运行以下命令。

   ```
   $ sudo DISPLAY=:0 xinput
   ```

   DCV 触控笔、DCV 触控笔橡皮擦和 DCV 触摸屏显示在命令输出中。下面是示例输出。

   ```
   | Virtual core pointer                          id=2    [master pointer  (3)]
   |   | Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
   |   | dummy_mouse                               id=6    [slave  pointer  (2)]
   |   | dummy_keyboard                            id=7    [slave  pointer  (2)]
   |   | DCV Stylus Pen                            id=8    [slave  pointer  (2)]
   |   | DCV Stylus Eraser                         id=9    [slave  pointer  (2)]
   |   | DCV Touchscreen                           id=10   [slave  pointer  (2)]
   | Virtual core keyboard                         id=3    [master keyboard (2)]
       | Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
   ```

## 配置触控笔压力范围
<a name="config-stylus-pressure"></a>

某些应用程序要求您将触控笔压力范围减小到 0 到 2048 之间。您可以在 `/etc/X11/xorg.conf` 文件中将 `Pressure2k` 选项设置为 true 以配置压力范围。

**配置触控笔压力**

1. 使用所需的文本编辑器打开 `/etc/X11/xorg.conf`。

1. 将以下部分添加到此文件中。

   ```
   Section "InputDevice"
     Identifier "DCV Stylus Pen"
     Driver "dcvinput"
     Option "Pressure2K" "true"
   EndSection
   
   Section "InputDevice"
     Identifier "DCV Stylus Eraser"
     Driver "dcvinput"
     Option "Pressure2K" "true"
   EndSection
   ```

1. 保存更改并关闭该文件。

1. 重新启动 X 服务器。

# 启用游戏手柄支持
<a name="enable-gamepad"></a>

从 Amazon DCV Server 2022.0 开始，在连接到任何支持的 Windows 或 Linux 操作系统时，可以使用游戏手柄设备。

支持以下游戏手柄设备：
+ Xbox 360 控制器
+ DualShock 4 控制器

也可以使用与上面列出的设备兼容的其他设备，或者使用可配置为模拟支持的设备之一的其他设备。

**注意**  
只有在使用 Windows 本机 Amazon DCV 客户端或 Web 客户端时，才支持游戏手柄设备。确保您使用 Web 客户端连接到 DCV 服务器版本 2025.0 或更高版本，或者确保您使用 Windows 本机 Amazon DCV 客户端 2022.0 或更高版本。

要启用游戏手柄支持，请确保您安装了最新版本的 Amazon DCV 服务器并选择安装游戏手柄驱动程序。有关更多信息，请参阅 [在 Windows 上安装 Amazon DCV 服务器](setting-up-installing-windows.md)。在安装该驱动程序后，默认在 Windows Amazon DCV 服务器上启用该特征。

## 支持 Xbox 360 控制器
<a name="enable-gamepad-xbox"></a>

Xbox 360 控制器要求安装其 Windows 驱动程序。不会自动在 Windows 上安装该驱动程序，需要从官方 Windows 更新网站中检索该驱动程序。

**要下载并安装 Xbox 360 控制器驱动程序，请执行以下操作：**

1. 在 Microsoft 更新目录页面上搜索该驱动程序：[https://www.catalog.update.microsoft.com/Search.aspx?q=game+devices+XBOX+360+Controller+For+Windows](https://www.catalog.update.microsoft.com/Search.aspx?q=game+devices+XBOX+360+Controller+For+Windows)。

1. 下载适用于您的操作系统的最新驱动程序版本。

1. 打开 .cab 文件并提取其内容：

   ```
   expand filename.cab -F:* .
   ```

1. 使用以下命令安装驱动程序的.inf 文件：

   ```
   pnputil /add-driver filename.inf /install
   ```

# 启用 USB 远程控制
<a name="manage-usb-remote"></a>

对于 Amazon DCV，客户端可以使用各种专用的 USB 设备，例如 3D 指点设备或身份验证设备。这些设备以物理方式连接到其计算机，以与 Amazon DCV 服务器上运行的应用程序进行交互。

**重要**  
Amazon DCV 提供了一种重定向 USB 设备的通用机制。某些对网络延迟敏感的设备可能会出现问题。此外，由于驱动程序兼容性问题，某些设备可能无法正常工作。在部署到生产环境之前，确保您的设备正常工作。

**注意**  
仅 Windows 客户端支持 USB 远程控制。可移植 Windows 客户端或 Web 浏览器客户端不支持该功能。可能需要在 Amazon DCV 客户端上进行额外的配置。有关在客户端上安装 USB 远程控制功能的信息，请参阅《Amazon DCV 用户指南》的[可安装的 Windows 客户端](https://docs.aws.amazon.com/dcv/latest/userguide/client-windows-install.html)中的可选步骤。**

Amazon DCV 服务器使用允许列表以确定允许客户端使用哪些 USB 设备。默认情况下，在允许列表中添加了一些常用的 USB 设备。这意味着客户端可以将这些 USB 设备连接到其计算机，并在服务器上使用这些设备，而无需进行任何额外的配置。有关更多信息，请参阅《Amazon DCV 用户指南》中的[使用 USB 远程控制](https://docs.aws.amazon.com/dcv/latest/userguide/using-usb.html)**。

但默认情况下，某些专用设备可能不会添加到允许列表中。必须将这些设备手动添加到 Amazon DCV 服务器上的允许列表中，然后客户端才能使用这些设备。添加后，它们将出现在 Windows 客户端的**设置**菜单中。

------
#### [ Windows Amazon DCV server ]

要将 USB 设备添加到允许列表，您必须从客户端获取 USB 设备的筛选条件字符串并将其添加到 `usb-devices.conf` 文件中。

**将 USB 设备添加到 Windows Amazon DCV 服务器上的允许列表**

1. 确保您已安装最新版本的 Amazon DCV 服务器，并选择安装 USB 远程控制驱动程序。有关更多信息，请参阅 [在 Windows 上安装 Amazon DCV 服务器](setting-up-installing-windows.md)。

1. 在 Amazon DCV 服务器上安装 USB 设备的硬件驱动程序。

1. 在 Windows 客户端计算机上，在文件管理器中导航到 `C:\Program Files (x86)\NICE\DCV\Client\bin\`。

1. 运行 `dcvusblist.exe`。

1. 右键单击列表中的 USB 设备。

1. 从下拉菜单中选择 **Copy filter string**。

1. 在服务器上，使用常用的文本编辑器打开 `C:\Program Files\NICE\DCV\Server\conf\usb-devices.conf`，并将筛选条件字符串添加到文件底部的新行中。

1. 保存并关闭 文件。

1. [停止](https://docs.aws.amazon.com/dcv/latest/adminguide/manage-stop.html)并[重新启动](https://docs.aws.amazon.com/dcv/latest/adminguide/manage-start.html) Amazon DCV 服务器。

------
#### [ Linux Amazon DCV server ]

要将 USB 设备添加到允许列表中，请将 USB 设备的筛选条件字符串添加到 `usb-devices.conf` 文件中。

**将 USB 设备添加到 Linux Amazon DCV 服务器上的允许列表**

1. 确保您已安装最新版本的 Amazon DCV 服务器和 DCV USB 驱动程序。有关更多信息，请参阅 [在 Linux 上安装 Amazon DCV 服务器](setting-up-installing-linux.md)。

1. 在 Amazon DCV 服务器上安装 USB 设备的硬件驱动程序。

1. 在 Windows 客户端计算机上，在文件管理器中导航到 `C:\Program Files (x86)\NICE\DCV\Client\bin\`。

1. 运行 `dcvusblist.exe`。

1. 右键单击列表中的 USB 设备。

1. 从下拉菜单中选择 **Copy filter string**。

1. 在服务器上，使用常用的文本编辑器打开 `/etc/dcv/usb-devices.conf`，并将筛选条件字符串添加到文件底部的新行中。

1. 保存并关闭 文件。

1. [停止](https://docs.aws.amazon.com/dcv/latest/adminguide/manage-stop.html)并[重新启动](https://docs.aws.amazon.com/dcv/latest/adminguide/manage-start.html) Amazon DCV 服务器。

------

# 配置智能卡缓存
<a name="manage-smart-card"></a>

通过使用智能卡缓存特征，Amazon DCV 服务器可以缓存智能卡值。如果启用了该特征，则 Amazon DCV 服务器缓存最近调用客户端智能卡的结果。未来的调用直接从服务器的缓存中检索，而不是从客户端检索。这会减少在客户端和服务器之间传输的流量并提高性能。如果客户端的互联网连接速度较慢，这是尤其有用的。

默认情况下，将禁用智能卡缓存。客户可以通过设置 `DCV_PCSC_ENABLE_CACHE` 环境变量为他们运行的每个应用程序手动启用智能卡缓存。有关说明，请参阅《Amazon DCV 用户指南》中的[使用智能卡](https://docs.aws.amazon.com/dcv/latest/userguide/using-smartcard.html)。**或者，您可以将 Amazon DCV 服务器配置为永久启用或禁用智能卡缓存，而无论为 `DCV_PCSC_ENABLE_CACHE` 环境变量指定的值如何。

------
#### [ Linux Amazon DCV server ]

**在 Linux Amazon DCV 服务器上永久启用或禁用智能卡缓存**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 在 `[smartcard]` 部分中找到 `enable-cache` 参数。要永久启用智能卡缓存，请输入 `'always-on'`。要永久禁用智能卡缓存，请输入 `'always-off'`。

   如果在 `[smartcard]` 部分中没有 `enable-cache` 参数，请按以下格式手动添加该参数：

   ```
   [smartcard]
   enable-cache='always-on'|'always-off'
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ Windows Amazon DCV server ]

**在 Windows Amazon DCV 服务器上永久启用或禁用智能卡缓存**

1. 打开 Windows 注册表编辑器。

1. **导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1 dcv\$1 smartcard\$1 key，然后选择启用缓**存参数。**

   如果该参数不存在，请使用以下步骤创建该参数：

   1. 在左侧窗格中，打开 **smartcard** 项的上下文（右键单击）菜单，然后选择**新建** > **字符串值**。

   1. 对于**名称**，输入 `enable-cache` 并按 **Enter**。

1. 打开 **enable-cache** 参数。对于**值数据**，输入 `always-on` 以永久启用智能卡缓存，或者输入 `always-off` 以永久禁用智能卡缓存。

1. 选择**确定**，并关闭 Windows 注册表编辑器。

------

# 配置 WebAuthn 重定向
<a name="config-webauthn-redirect"></a>

从 Amazon DCV Server 2023.1 开始，用户可以在远程会话中支持的浏览器中使用网络身份验证 (WebAuthn) 标准的 Web 应用程序进行身份验证。这是通过将身份验证提示重定向到本地连接的身份验证器（例如 Windows Hello 或）或 YubiKey任何其他 FIDO2 兼容的身份验证器来完成的。

WebAuthn 重定向独立于 USB 重定向运行。无需在 Amazon DCV 服务器上安装任何供应商特定的驱动程序。通过浏览器的本机 API 可以实现 WebAuthn 请求的重定向。

在使用之前 WebAuthn，请仔细检查 “[支持的功能](servers.md#features)” 表，确保满足所有要求。

**Topics**
+ [在 Windows 主机上配置 WebAuthn 重定向](webauth-windows.md)
+ [在 Linux WebAuthn 主机上配置重定向](webauth-linux.md)

# 在 Windows 主机上配置 WebAuthn 重定向
<a name="webauth-windows"></a>

WebAuthn 可以使用`webauthn-redirection`权限启用或禁用。有关更多信息，请参阅[使用权限文件](https://docs.aws.amazon.com/dcv/latest/adminguide/security-authorization-file-create.html)。

## 配置 WebAuthn 重定向
<a name="config-webauth-windows"></a>

WebAuthn 默认情况下，在 DCV 上处于启用状态。您可以使用以下注册表启用或禁 WebAuthn 用：

```
HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftware\dcv\webauthn

Key: enabled
Value: 1 to enable, 0 to disable
```

此外，您可以通过添加字符串值来配置允许哪些应用程序和进程使用进程兼容性列表键重定向 WebAuthn 提示。

示例注册表项：

```
HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftware\dcv\webauthn\process-compatibilitylist
```

默认值（字符串）：

```
['chrome.exe','msedge.exe','island.exe','firefox.exe','dcvwebauthnnativemsghost.exe','msedgewebview2.exe','Microsoft.AAD.BrokerPlugin.exe']
```

使用上述默认值，支持谷歌浏览器（'chrome.exe'）、Microsoft Edge（'msedge.exe'）、Island Browser（'island.exe'）和 Mozilla Firefox（'firefox.exe'）等应用程序进行 WebAuthn 重定向。 基于浏览器扩展的标准需要'dcvwebauthnativemsghost.exe'，嵌入式微软 Edge 浏览器需要'msedgewebview2.exe '，'microsoft.aad '需要'microsoft.aad。 WebAuthn BrokerPlugin需要在微软 Teams 和 WebAuthn 微软 Office365 应用程序上启用.exe。

您可以将可执行文件添加到进程兼容性列表，以增加对更多应用程序和进程的支持。

Windows 主机 WebAuthn 上有两种模式：

### 增强的 WebAuthn 重定向
<a name="enhanced-webauthn-redirection"></a>

从 DCV 2025.0 开始，你可以在 Windows DCV 服务器 WebAuthn 上使用增强版。增强版 WebAuthn 无需浏览器扩展程序，简化了初始设置并提高了性能。它还引入了 WebAuthn 对本机 Windows 应用程序的支持，允许用户在 Web 浏览器和 Windows 桌面应用程序中使用 WebAuthn 身份验证。

**注意**  
要从标准版升级 WebAuthn 到增强版 WebAuthn，用户需要禁用或卸载之前为标准版安装的浏览器扩展程序 WebAuthn。

**注意**  
Windows Server 2016 不支持系统级别 WebAuthn。要在 Windows Server 2016 上使用 WebAuthn 重定向，必须使用标准 WebAuthn版。

**使用增强版 WebAuthn**

启用后，增强版可以无缝 WebAuthn 运行，无需您进行任何其他配置。您可以在以下位置使用您的 WebAuthn 设备进行身份验证：
+ Web 浏览器（Chrome、Edge）
+ 支持的本机 Windows 应用程序 WebAuthn
+ 需要 WebAuthn 身份验证的 Windows 系统对话框

### 标准 WebAuthn 重定向
<a name="standard-webauthn-redirect"></a>

从 DCV 2023.1 开始，你可以在 Windows DCV 服务器 WebAuthn 上使用标准版。标准 WebAuthn 重定向要求在远程服务器上安装浏览器扩展程序。启用该功能并安装浏览器扩展程序后，会话中浏览器中运行的 Web 应用程序发起的任何 WebAuthn 请求都将无缝定向到本地客户端。然后，用户可以使用诸如 Windows Hello 之类 YubiKey 的设备或完成身份验证。

支持的浏览器：
+ Google Chrome 116 和更高版本
+ Microsoft Edge 116 和更高版本

#### 设置 WebAuthn 重定向浏览器扩展
<a name="setting-up-standard-webauthn-redirect"></a>

按照以下步骤设置标准 WebAuthn 重定向。

##### 首次启动浏览器时自动提示
<a name="auto-prompt"></a>

在安装启用了 WebAuthn 重定向功能的 Amazon DCV Server 2023.1 之后，当用户首次启动浏览器时，系统会提示他们启用浏览器扩展程序。如果他们选择不安装扩展程序或稍后将其卸载，则 WebAuthn 重定向将不起作用。管理员可以使用组策略强制进行安装。

##### 使用组策略进行安装
<a name="w2aac16c61c11b5c25b9b7"></a>

对于希望更广泛地部署该扩展的组织，您可以使用组策略。

**使用 Microsoft Edge：**

1. 下载并安装 [Microsoft Edge 管理模板](https://learn.microsoft.com/en-us/deployedge/configure-microsoft-edge#1-download-and-install-the-microsoft-edge-administrative-template)。

1. 启动组策略管理工具（gpmc.msc）。

1. 导航：“林”>“域”>“您的 FQDN”（例如 example.com）>“组策略对象”。

1. 选择所需的策略或创建新的策略，然后右键单击该策略并选择“编辑”。

1. 采用以下路径：“计算机配置”>“管理模板”>“Microsoft Edge”>“扩展”。

1. 访问“配置扩展管理设置”，并将其设置为“已启用”。

1. 在“配置扩展管理设置”字段中，输入以下内容：

   ```
   {"ihejeaahjpbegmaaegiikmlphghlfmeh":{"installation_mode":"force_installed","update_url":"https://edge.microsoft.com/extensionwebstorebase/v1/crx"}}
   ```

1. 保存更改并重新引导服务器。

**使用 Google Chrome：**

1. 获取并实施 [Google Chrome 管理模板](https://chromeenterprise.google/browser/download/#manage-policies-tab)。

1. 与 Microsoft Edge 的步骤类似，通过组策略管理工具进行导航。

1. 转到：“计算机配置”>“管理模板”>“Google Chrome”>“扩展”。

1. 访问“配置扩展管理设置”，并将其设置为“已启用”。

1. 在“配置扩展管理设置”字段中，输入以下内容：

   ```
   {"mmiioagbgnbojdbcjoddlefhmcocfpmn":{ "installation_mode":"force_installed","update_url":"https://clients2.google.com/service/update2/crx"}}
   ```

1. 保存更改并重新引导服务器。

##### 手动安装
<a name="manual-install"></a>

可以从相应的浏览器商店中获取扩展：
+ [Microsoft Edge 加载项](https://microsoftedge.microsoft.com/addons/detail/dcv-webauthn-redirection-/ihejeaahjpbegmaaegiikmlphghlfmeh)
+ [Chrome 网上商店](https://chrome.google.com/webstore/detail/dcv-webauthn-redirection/mmiioagbgnbojdbcjoddlefhmcocfpmn)

对于手动安装：

1. 连接到您的 Amazon DCV 会话。

1. 打开您的首选浏览器，然后导航到相关的浏览器商店（上面的链接）。

1. 选择“获取”（Microsoft Edge）或“添加到 Chrome”（Google Chrome）以继续。

1. 按照屏幕上的说明进行操作。在成功添加扩展后，将显示确认消息。

##### 在隐身模式下使用 WebAuthn 重定向（仅限 Chrome）
<a name="using-webauth-incognito"></a>

使用隐身模式时，需要特别允许 Amazon DCV WebAuthn 重定向扩展在其中运行，否则将不会发生 WebAuthn 重定向。要实现此目的，应按照以下步骤进行：

1. 打开扩展设置。

1. 在详细信息中找到**允许无痕模式**。

1. 将开关切换到**开**。

## Webauthn Windows 故障排除
<a name="troubleshooting-webauth-windows"></a>

如果您在使用 WebAuthn 或增强版时遇到任何问题 WebAuthn：
+ 确保您的 DCV 服务器和客户端是最新的。
+ 对于标准 WebAuthn版，请确认浏览器扩展程序已安装并启用。
+ 对于增强版 WebAuthn，请在权限文件中确认其已启用。
+ 尝试重新启动浏览器或 DCV 会话。
+ 如果问题仍然存在，请联系 Supp AWS ort。

# 在 Linux WebAuthn 主机上配置重定向
<a name="webauth-linux"></a>

DCV Linux 服务器目前支持标准 WebAuthn版。标准版 WebAuthn 需要浏览器扩展程序以方便将 WebAuthn 提示重定向到客户端。 WebAuthn 可以使用 webauthn-重定向权限启用或禁用。有关更多信息，请参阅[使用权限文件](https://docs.aws.amazon.com/dcv/latest/adminguide/security-authorization-file-create.html)。

**先决条件**
+ DCV 服务器版本 2025.0 或更高版本
+ 适用于 Windows、Linux 和 Mac 的 DCV 本机客户端
+ Linux 服务器实例上的根访问权限（sudo）
+ 可通过互联网下载浏览器扩展程序

## 配置 WebAuthn 重定向
<a name="configuring-webauth-linux"></a>

WebAuthn 默认情况下，在 DCV 上处于启用状态。您可以 WebAuthn 通过启用 DCV 配置文件中的 “[webauthn]” 设置来启用或禁用：

```
/etc/dcv/dcv.conf

[webauthn] 
enabled=true
```

**为 Linux 配置 Webauthn**

1. 为每个受支持的浏览器创建一个指向原生消息传递主机清单文件的符号链接：

------
#### [ Google Chrome ]

   使用以下命令：

   ```
   sudo mkdir -p /etc/opt/chrome/native-messaging-hosts
   ```

   ```
   sudo ln -s -f /usr/share/dcv/webauthn/com.dcv.webauthnredirection.nativemessagehost.json /etc/opt/chrome/native-messaging-hosts/
   ```

------
#### [ Chromium ]

   使用以下命令：

   ```
   sudo mkdir -p /etc/chromium/native-messaging-hosts
   ```

   ```
   sudo ln -s -f /usr/share/dcv/webauthn/com.dcv.webauthnredirection.nativemessagehost.json /etc/chromium/native-messaging-hosts/
   ```

------
#### [ Microsoft Edge ]

   使用以下命令：

   ```
   sudo mkdir -p /etc/opt/edge/native-messaging-hosts
   ```

   ```
   sudo ln -s -f /usr/share/dcv/webauthn/com.dcv.webauthnredirection.nativemessagehost.json /etc/opt/edge/native-messaging-hosts/
   ```

------

1. 安装用于 WebAuthn 重定向的浏览器扩展程序。这可以手动完成，也可以通过企业策略完成。

------
#### [ Google Chrome ]

   使用以下命令：

   ```
   sudo mkdir -p /usr/share/google-chrome/extensions/
   ```

   ```
   echo '{"external_update_url": "https://clients2.google.com/service/update2/crx"}' | \
   ```

   ```
   sudo tee /usr/share/google-chrome/extensions/mmiioagbgnbojdbcjoddlefhmcocfpmn.json
   ```

   ```
   sudo chmod a+r /usr/share/google-chrome/extensions/mmiioagbgnbojdbcjoddlefhmcocfpmn.json
   ```

------
#### [ Chromium ]

   使用以下命令：

   ```
   sudo mkdir -p /usr/share/chromium/extensions/
   ```

   ```
   echo '{"external_update_url": "https://clients2.google.com/service/update2/crx"}' | \
   ```

   ```
   sudo tee /usr/share/chromium/extensions/mmiioagbgnbojdbcjoddlefhmcocfpmn.json
   ```

   ```
   sudo chmod a+r /usr/share/chromium/extensions/mmiioagbgnbojdbcjoddlefhmcocfpmn.json
   ```

------
#### [ Microsoft Edge ]

   使用以下命令：

   ```
   sudo mkdir -p /usr/share/microsoft-edge/extensions/
   ```

   ```
   echo '{"external_update_url": "https://edge.microsoft.com/extensionwebstorebase/v1/crx"}' | \
   ```

   ```
   sudo tee /usr/share/microsoft-edge/extensions/ihejeaahjpbegmaaegiikmlphghlfmeh.json
   ```

   ```
   sudo chmod a+r /usr/share/microsoft-edge/extensions/ihejeaahjpbegmaaegiikmlphghlfmeh.json
   ```

------

1. 重新启动浏览器。

WebAuthn 在 Windows 和 Linux 主机以及 Windows、Mac 和 Linux 客户端上都支持。
+ Google Chrome 116 和更高版本
+ Microsoft Edge 116 和更高版本

WebAuthn 可以使用`webauthn-redirection`权限启用或禁用重定向。有关更多信息，请参阅[使用权限文件](security-authorization-file-create.md)。

WebAuthn 重定向需要在远程服务器上安装浏览器扩展程序。启用该功能并安装浏览器扩展程序后，会话中浏览器中运行的 Web 应用程序发起的任何 WebAuthn 请求都将无缝重定向到本地客户端。然后，用户可以使用诸如 Windows Hello 之类 YubiKey 的设备或完成身份验证。

**注意**  
虽然此功能允许 WebAuthn 在远程会话期间在浏览器中使用，但它不支持使用 WebAuthn 身份验证器进行 DCV 会话身份验证。

# 启用会话存储
<a name="manage-storage"></a>

会话存储是 Amazon DCV 服务器上的一个文件夹，客户端可以在连接到特定 Amazon DCV 会话时访问该文件夹。当您启用会话的会话存储时，客户端既可从指定文件夹下载文件，又可将文件上传到指定文件夹。利用此功能，客户端可在连接到会话时共享文件。

**Topics**
+ [在 Windows 上启用会话存储](#manage-storage-windows)
+ [在 Linux 上启用会话存储](#manage-storage-linux)
+ [在 macOS 上启用会话存储](#manage-storage-macos)

## 在 Windows Amazon DCV 服务器上启用会话存储
<a name="manage-storage-windows"></a>

要启用会话存储，请先创建要用于会话存储的文件夹。然后，使用 Windows 注册表编辑器配置 `storage-root` 参数。

**在 Windows 上启用会话存储**

1. 创建要用于会话存储的文件夹（例如 `c:\session-storage`）。

1. 配置 `storage-root` 参数。

   1. 打开 Windows 注册表编辑器。

   1. **导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1 dcv\$1 session-Management\$1 key，然后选择存储根参数**。automatic-console-session**

      如果在注册表项中没有 `storage-root` 参数，请按以下方式创建该参数：

      1. 在导航窗格中，打开会**话管理 automatic-console-session**/密钥的上下文（右键单击）菜单。然后，选择**新建** > **字符串**。

      1. 对于**名称**，输入 `storage-root` 并按 **Enter**。

   1. 打开 **storage-root** 参数。对于**值数据**，输入在步骤 1 中创建的文件夹的完整路径。

      您也可以在路径中使用 `%home%` 以指定当前登录用户的主目录。例如，以下路径使用 `c:\Users\username\storage\` 作为会话存储目录。

      ```
      %home%/storage/
      ```
**注意**  
如果指定的子目录不存在，则会禁用会话存储。

   1. 选择**确定**，并关闭 Windows 注册表编辑器。

   1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

1. 启动会话并指定 `--storage-root` 选项。有关更多信息，请参阅 [启动 Amazon DCV 会话](managing-sessions-start.md)。

## 在 Linux Amazon DCV 服务器上启用会话存储
<a name="manage-storage-linux"></a>

要启用会话存储，请创建用于会话存储的文件夹，然后在 `dcv.conf` 文件中配置 `storage-root` 参数。

**在 Linux 上启用会话存储**

1. 创建要用于会话存储的文件夹（例如 `/opt/session-storage/`）。

1. 配置 `storage-root` 参数。

   1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

   1. 在 `[session-management/automatic-console-session]` 部分中找到 `storage-root` 参数。将现有路径替换为步骤 1 中创建的文件夹的完整路径。

      如果在 `[session-management/automatic-console-session]` 部分中没有 `storage-root` 参数，请按以下格式手动添加该参数。

      ```
      [session-management/automatic-console-session]
      storage-root="/opt/session-storage/"
      ```

      您也可以在路径中使用 `%home%` 以指定当前登录用户的主目录。例如，以下参数使用会话存储的 `$HOME/storage/` 目录。

      ```
      [session-management/automatic-console-session]
      storage-root="%home%/storage/"
      ```
**注意**  
如果指定的子目录不存在，则会禁用会话存储。

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

1. 启动会话并指定 `--storage-root` 选项。有关更多信息，请参阅 [启动 Amazon DCV 会话](managing-sessions-start.md)。

## 在 macOS 亚马逊 DCV 服务器上启用会话存储
<a name="manage-storage-macos"></a>

要启用会话存储，请创建用于会话存储的文件夹，然后在 `dcv.conf` 文件中配置 `storage-root` 参数。

**在 macOS 上启用会话存储**

1. 创建要用于会话存储的文件夹（例如 `/opt/session-storage/`）。

1. 配置 `storage-root` 参数。

   1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

   1. 在 `[session-management/automatic-console-session]` 部分中找到 `storage-root` 参数。将现有路径替换为步骤 1 中创建的文件夹的完整路径。

      如果在 `[session-management/automatic-console-session]` 部分中没有 `storage-root` 参数，请按以下格式手动添加该参数。

      ```
      [session-management/automatic-console-session]
      storage-root="/opt/session-storage/"
      ```
**注意**  
如果指定的子目录不存在，则会禁用会话存储。
**注意**  
在 macOS 上，该`storage-root`值必须是绝对路径。

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

1. 启动会话并指定 `--storage-root` 选项。有关更多信息，请参阅 [启动 Amazon DCV 会话](managing-sessions-start.md)。

# 在 Linux Amazon DCV 服务器上配置打印机
<a name="manage-printer"></a>

Amazon DCV 允许您打印到本地重定向的打印机或虚拟 Amazon DCV 打印机。

如果您使用支持的 Linux 发行版，您必须配置 Amazon DCV 服务器以支持打印。

如果您使用 Windows Amazon DCV 服务器，则无需进行额外的配置。

**在 Linux Amazon DCV 服务器上启用打印机重定向**

1. 在您的服务器上安装 `CUPS` 服务。
   + Amazon Linux 2、RHEL 和 CentOS

     ```
     $ sudo yum install cups
     ```
   + Ubuntu

     ```
     $ sudo apt-get install cups
     ```
   + SUSE Linux Enterprise

     ```
     $ sudo zypper install cups
     ```

1. 将 `dcv` 用户添加到打印机管理员组中。打印机管理员组的名称可能因操作系统而异。例如，如果您的打印机管理员组命名为 `lpadmin`，请运行以下命令：

   ```
   $ usermod -a -G lpadmin dcv
   ```

1. 确保在 cups 配置文件的 `SystemGroup` 参数中引用了打印机管理员组。例如，如果您的打印机管理员组命名为 `lpadmin`，请使用文本编辑器打开 `/etc/cups/cups-files.conf` 并查找以下行。

   ```
   SystemGroup lpadmin
   ```

   如果在配置文件中出现该行，则说明安装已完成。继续下一步。

   如果在配置文件中未出现该行，请按以下格式手动添加该行，然后保存并关闭该文件。

   ```
   SystemGroup printer_admin_groupname
   ```

1. （仅限 SUSE Linux Enterprise）确保打印机管理员组有权读取 cups 本地证书。该证书位于以下目录中：`/var/run/cups/certs/`。例如，如果您的打印机管理员组命名为 `lpadmin`，请运行以下命令：

   ```
   $ sudo chgrp -R lpadmin /var/run/cups/certs/ && chmod g+x /var/run/cups/certs
   ```

1. 重新启动 `cups` 服务。

   ```
   $ sudo systemctl restart cups
   ```

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

## 解决打印机问题
<a name="troubleshoot"></a>

SUSE Linux Enterprise 和 RHEL 8 可能会禁止连接到打印机插槽。如果您运行这两种操作系统之一并遇到打印问题，请检查日志文件以确定这是否为问题原因。

使用文本编辑器打开 `/var/log/audit/audit.log`，并检查日志是否具有类似下面的行：

```
type=AVC msg=audit(1617716179.487:504): avc:  denied  { connectto } for  pid=33933 comm="dcvcupsbackend" path=002F636F6D2F6E696365736F6674776172652F6463762F637570732F636F6E736F6C65 scontext=system_u:system_r:cupsd_t:s0-s0:c0.c1023 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=unix_stream_socket permissive=0
```

如果在日志文件中出现类似的行，则操作系统禁止访问打印机插槽。

要解决该问题，您必须创建一个允许访问打印机插槽的 CUPS 策略。为此，请执行以下步骤：

1. 创建所需的策略文件。使用常用的文本编辑器创建一个名为 `cupsd_policy` 的新文件，并添加以下内容。

   ```
   #============= cupsd_t ==============
   allow cupsd_t unconfined_t:unix_stream_socket connectto;
   ```

1. 安装该策略。

   ```
   $ ausearch -c 'dcvcupsbackend' --raw | audit2allow -M dcv-printer-policy
   ```

   ```
   $ semodule -X 300 -i dcv-printer-policy.pp
   ```

# 在 Linux Amazon DCV 服务器上配置剪贴板
<a name="manage-clipboard"></a>

Linux 操作系统具有两个可用于复制和粘贴内容的缓冲区。这两个缓冲区是主选区和剪贴板。要将内容复制到主选区中，请拖动指针以突出显示内容。要从主选区中粘贴内容，请使用指针或 **Shift\$1Insert** 键盘快捷键。要将内容复制到剪贴板，请突出显示内容并从上下文（右键单击）菜单中选择**复制**。要从剪贴板粘贴内容，请从上下文（右键单击）菜单中选择**粘贴**。

在 Linux Amazon DCV 服务器上，您可以将服务器配置为在客户端和服务器之间执行复制和粘贴操作时使用主选区或剪贴板。

**Topics**
+ [将客户端剪贴板内容粘贴到主选区](#manage-clipboard-paste)
+ [将主选区内容复制到客户端剪贴板](#manage-clipboard-copy)

## 将客户端剪贴板内容粘贴到主选区
<a name="manage-clipboard-paste"></a>

默认情况下，在客户端中复制的内容将放置在剪贴板中。要将此内容粘贴到服务器上，必须使用上下文（右键单击）菜单从剪贴板粘贴内容。

可以将服务器配置为将剪贴板内容放入主选区中。这样，用户就可以使用上下文（右键单击）菜单从剪贴板中粘贴复制的内容。或者，他们也可以使用鼠标中键或 **Shift\$1Insert** 键盘快捷键粘贴从主选区中复制的内容。

**将服务器配置为将剪贴板内容放入主选区中**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 找到 `[clipboard]` 部分中的 `primary-selection-paste` 参数并将值设置为 `true`。

   如果在 `[clipboard]` 部分中没有 `primary-selection-paste` 参数，请按以下格式手动添加该参数：

   ```
   [clipboard]
   primary-selection-paste=true
   ```

1. 保存并关闭 文件。

1. [停止](managing-sessions-lifecycle-stop.md)并[重新启动](managing-sessions-start.md) Amazon DCV 会话。

## 将主选区内容复制到客户端剪贴板
<a name="manage-clipboard-copy"></a>

默认情况下，用户只能使用剪贴板将内容从服务器复制到客户端。这意味着无法将复制到主选区的内容粘贴到客户端上。

可以将服务器配置为将主选区内容放入剪贴板中。这意味着当用户将内容复制到服务器上的主选区时，内容也会复制到剪贴板中。这也意味着用户可以将剪贴板中的内容粘贴到客户端中。

**将服务器配置为将主选区内容放入剪贴板中**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 找到 `[clipboard]` 部分中的 `primary-selection-copy` 参数并将值设置为 `true`。

   如果在 `[clipboard]` 部分中没有 `primary-selection-copy` 参数，请按以下格式手动添加该参数：

   ```
   [clipboard]
   primary-selection-copy=true
   ```

1. 保存并关闭 文件。

1. [停止](managing-sessions-lifecycle-stop.md)并[重新启动](managing-sessions-start.md) Amazon DCV 会话。

# 配置多声道音频
<a name="manage-audio"></a>

在使用 Amazon DCV 本机客户端时，Amazon DCV 最多支持 7.1 音频声道。Web 浏览器客户端仅支持立体声 2.0 音频声道。

Amazon DCV 支持以下多声道音频配置：
+ 立体声 2.0（两个声道）
+ 四声道 4.0（四个声道）
+ 环绕声 5.1（6 个声道）
+ 环绕声 7.1（8 个声道）- 仅限 Windows Amazon DCV 服务器

![\[支持的音频配置\]](http://docs.aws.amazon.com/zh_cn/dcv/latest/adminguide/images/audio.png)


如果客户端请求的音频声道数量少于服务器提供的声道数量，则服务器缩混声道数。这是为了与客户端请求的声道数匹配。例如，假设客户端请求环绕声 5.1，而服务器最多支持环绕声 7.1。服务器将音频缩混为 5.1。

服务器不会自动缩混音频以与源应用程序的音频输出匹配。例如，假设源应用程序提供环绕声 7.1，而客户端仅支持立体声 2.0。仅左前和右前音频声道流式传输到客户端。其余声道丢失。如果是这种情况，为了防止音频声道丢失，请将 Amazon DCV 服务器配置为缩混音频声道。

**Topics**
+ [在 Windows Amazon DCV 服务器上配置音频声道](#win-audio)
+ [在 Linux Amazon DCV 服务器上配置音频声道](#linux-audio)

## 在 Windows Amazon DCV 服务器上配置音频声道
<a name="win-audio"></a>

Windows 服务器支持环绕声 7.1（8 个音频声道）。默认配置是立体声。不过，您可以将服务器配置为使用不同的配置。

**在 Windows 服务器上配置音频声道：**

1. 打开“声音”控制面板。从桌面的任务栏中，右键单击扬声器图标，然后选择**声音**。

1. 打开“播放”选项卡，然后选择 Amazon DCV 扬声器。

1. 选择**配置**。

1. 选择常用的声道配置。

1. 选择**确定**。

## 在 Linux Amazon DCV 服务器上配置音频声道
<a name="linux-audio"></a>

Linux 服务器默认支持立体声 2.0（两个音频声道），并需要进行一些额外的配置以支持多声道音频。

您需要执行以下操作：

1. 配置 PulseAudio 声音服务器。

1. 将 Amazon DCV 服务器配置为使用该 PulseAudio 设备。

1. 配置要使用的声道数。

**配置 PulseAudio 声音服务器**

1. 使用首选文本编辑器打开 `/etc/pulse/default.pa`。

1. 将以下行添加到文件的末尾。

   ```
   load-module module-null-sink sink_name=dcv format=s16be channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe rate=48000 sink_properties="device.description='DCV Audio Speakers'"
   ```

1. 保存并关闭 文件。

配置 PulseAudio 声音服务器后，必须将 Amazon DCV 服务器配置为从 PulseAudio 声音服务器捕获音频。

**将 Amazon DCV 服务器配置为使用该设备 PulseAudio**

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 在 `[audio]` 部分中找到 `grab-device` 参数。然后，将现有的值替换为您在上一步中检索的设备名称。

   如果在 `[audio]` 部分中没有 `grab-device` 参数，请按以下格式手动添加该参数：

   ```
   [audio]
   grab-device="DCV Audio Speakers"
   ```

1. 保存并关闭 文件。

将 Amazon DCV 服务器配置为从 PulseAudio 声音服务器捕获音频后，您可以指定要使用的频道数量。

**配置要使用的声道数**

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 在 `[audio]` 部分中找到 `source-channels` 参数。然后，将现有声道数替换为以下值之一：2.0 为 `2`，4.0 为 `4`，5.1 为 `6`。

   如果在 `[audio]` 部分中没有 `source-channels` 参数，请按以下格式手动添加该参数：

   ```
   [audio]
   source-channels=channels
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

# 配置 HTTP 标头
<a name="manage-headers"></a>

您可以配置 Amazon DCV 服务器，在用户使用 Web 浏览器客户端连接到会话时，向 Amazon DCV 客户端发送额外的 HTTP 响应标头。响应标头可以提供有关用户连接到的 Amazon DCV 服务器的额外信息。

**Topics**
+ [在 Windows Amazon DCV 服务器上配置 HTTP 标头](#manage-headers-windows)
+ [在 Linux Amazon DCV 服务器上配置 HTTP 标头](#manage-headers-linux)

## 在 Windows Amazon DCV 服务器上配置 HTTP 标头
<a name="manage-headers-windows"></a>

要在 Windows 上配置 HTTP 标头，请使用 Windows 注册表编辑器配置 `web-extra-http-headers` 参数。

**在 Windows 上配置 HTTP 标头**

1. 打开 Windows 注册表编辑器。

1. 导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1 dcv\$1** Connectivity\$1 key。

1. 在导航窗格中，打开 **connectivity** 项的上下文（右键单击）菜单。然后，选择**新建** > **字符串**。

1. 对于**名称**，输入 `web-extra-http-headers` 并按 **Enter**。

1. 打开**web-extra-http-headers**参数。对于**值数据**，按以下格式输入 HTTP 标头名称和值。

   ```
   [("header-name", "header-value")]
   ```

   要指定多个标头，请将它们添加到以逗号分隔的列表中。

   ```
   [("header1-name", "header1-value"), ("header2-name", "header2-value")]
   ```

1. 选择**确定**，并关闭 Windows 注册表编辑器。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

## 在 Linux Amazon DCV 服务器上配置 HTTP 标头
<a name="manage-headers-linux"></a>

要在 Linux 上配置 HTTP 标头，请配置 `dcv.conf` 文件中的 `web-extra-http-headers` 参数。

**在 Linux 上配置 HTTP 标头**

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 找到 `[connectivity]` 部分。按以下格式指定 HTTP 标头名称和值。

   ```
   [connectivity]
   web-extra-http-headers=[("header-name", "header-value")]
   ```

   要指定多个标头，请将它们添加到以逗号分隔的列表中。

   ```
   [connectivity]
   web-extra-http-headers=[("header1-name", "header1-value"), ("header2-name", "header2-value")]
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

# 配置 Amazon DCV 身份验证
<a name="security-authentication"></a>

默认情况下，在连接到 Amazon DCV 会话之前，客户端需要在托管 Amazon DCV 的服务器中进行身份验证。如果客户端无法进行身份验证，这可能是因为禁止客户端连接到会话。可禁用客户端身份验证要求以允许客户端在不针对服务器进行身份验证的情况下连接到会话。

Amazon DCV 支持以下身份验证方法：
+ `system` - 这是默认身份验证方法。客户端身份验证工作委派给基础操作系统。对于 Windows Amazon DCV 服务器，身份验证委托给。 WinLogon对于 Linux 和 macOS 的 Amazon DCV 服务器，身份验证委托给 PAM。在连接到 Amazon DCV 会话时，客户端提供其系统凭证。验证您的客户端是否具有 Amazon DCV 服务器的相应登录凭证。
+ `none` - 在连接到 Amazon DCV 会话时，不需要进行客户端身份验证。Amazon DCV 服务器为尝试连接到会话的所有客户端授予访问权限。

确保您的客户端了解 Amazon DCV 服务器使用的身份验证方法。客户端还应该确保具有连接到会话所需的信息。

**Topics**
+ [在 Windows 上配置身份验证](#set-authentication-windows)
+ [在 Linux 上配置身份验证](#set-authentication-linux)
+ [在 macOS 上配置身份验证](#set-authentication-macos)
+ [配置使用外部身份验证器的身份验证](#set-authentication-external)
+ [使用外部身份验证](external-authentication.md)

## 在 Windows 上配置身份验证
<a name="set-authentication-windows"></a>

要更改 Amazon DCV 服务器的身份验证方法，您必须使用 Windows 注册表编辑器配置 `authentication` 参数。

**在 Windows 上更改身份验证方法**

1. 打开 Windows 注册表编辑器。

1. **导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 comGSettings\$1 n icesoftware\$1 dcv\$1 security\$1 key，然后选择身份**验证参数。**

   如果在注册表项中没有 `authentication` 参数，请创建该参数：

   1. 在导航窗格中，打开 **authentication** 项的上下文（右键单击）菜单。然后，选择**新建** > **字符串值**。

   1. 对于**名称**，输入 `authentication` 并按 **Enter**。

1. 打开 **authentication** 参数。对于**数值数据**，输入 `system` 或 `none`。

1. 选择**确定**，并关闭 Windows 注册表编辑器。

### Windows 凭证提供程序
<a name="manage-wcp"></a>

在使用 Windows 凭证提供程序时，如果用户可以在 DCV 服务器中进行身份验证，则他们可以绕过 Windows 登录。

仅当 DCV `authentication` 参数设置为 `system` 时，才支持 Windows 凭证提供程序。如果 DCV `authentication` 参数设置为 `none`，则用户必须在针对 DCV 服务器自动进行身份验证后手动登录到 Windows。

默认情况下，在安装 Amazon DCV 服务器时，将启用 Windows 凭证提供程序。

**禁用 Windows 凭证提供程序**

1. 打开 Windows 注册表编辑器。

1. 导航到 **HKEY\$1LOCAL\$1MACHINE\$1 SOFTWARE\$1 Microsoft\$1 Windows\$1 身份验证CurrentVersion\$1 凭证提供者\$1 \$18A2C93D0-D55F-4045-99D7-B27F5E263407\$1** 密钥。

1. 依次选择**编辑**、**新建**、**DWORD 值**。

1. 对于名称，输入 **Disabled**。

1. 打开该值。对于**值数据**，输入 `1` 并选择**确定**。

1. 关闭 Windows 注册表编辑器。

**重新启用 Windows 凭证提供程序**

1. 打开 Windows 注册表编辑器。

1. 导航到 **HKEY\$1LOCAL\$1MACHINE\$1 SOFTWARE\$1 Microsoft\$1 Windows\$1 身份验证CurrentVersion\$1 凭证提供者\$1 \$18A2C93D0-D55F-4045-99D7-B27F5E263407\$1** 密钥。

1. 打开**已禁用**值。对于**值数据**，输入 `0` 并选择**确定**。

1. 关闭 Windows 注册表编辑器。

## 在 Linux 上配置身份验证
<a name="set-authentication-linux"></a>

要更改 Amazon DCV 服务器的身份验证方法，您必须配置 `dcv.conf` 文件中的 `authentication` 参数。

**在 Linux 上更改身份验证方法**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 在 `[security]` 部分中找到 `authentication` 参数。然后，将现有的值替换为 `system` 或 `none`。

   如果在 `[security]` 部分中没有 `authentication` 参数，请按以下格式添加该参数。

   ```
   [security] 
   authentication=method
   ```

1. 保存并关闭 文件。

### PAM 服务
<a name="pam-service"></a>

在 Linux 上，在 Amazon DCV 参数 `authentication` 设置为 `system` 时，将执行 PAM 服务以进行身份验证。

默认情况下，Amazon DCV 服务器执行的特权访问管理（PAM）服务为 `/etc/pam.d/dcv`。

如果要更改通过 Amazon DCV 验证用户身份时 PAM 执行的步骤，您可以在 `dcv.conf` 的 `authentication` 部分中设置 `pam-service` 参数。

**更改 PAM 服务**

1. 以根用户身份导航到 `/etc/pam.d` 目录，并创建一个新文件，例如 `dcv-custom`。

1. 使用常用的文本编辑器编辑 `dcv-custom` 文件。有关 PAM 服务文件的语法，请参阅系统文档。

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 在 `[authentication]` 部分中找到 `pam-service` 参数。然后，将现有服务名称替换为新的 PAM 服务名称。

   如果在 `[authentication]` 部分中没有 `pam-service` 参数，请按以下格式手动添加该参数：

   ```
   [authentication]
   pam-service=service_name
   ```
**注意**  
PAM 服务名称必须与您在 `/etc/pam.d` 中创建的文件的名称匹配。

1. 保存并关闭 文件。

## 在 macOS 上配置身份验证
<a name="set-authentication-macos"></a>

要更改 Amazon DCV 服务器的身份验证方法，您必须配置 `dcv.conf` 文件中的 `authentication` 参数。

**在 macOS 上更改身份验证方法**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 在 `[security]` 部分中找到 `authentication` 参数。然后，将现有的值替换为 `system` 或 `none`。

   如果在 `[security]` 部分中没有 `authentication` 参数，请按以下格式添加该参数。

   ```
   [security] 
   authentication=method
   ```

1. 保存并关闭 文件。

### PAM 服务
<a name="pam-service-macos"></a>

在 macOS 上，当 Amazon DCV `authentication` 参数设置为时`system`，将通过执行 PAM 服务来执行身份验证。

默认情况下，Amazon DCV 服务器执行的特权访问管理（PAM）服务为 `/etc/pam.d/dcv`。

如果要更改通过 Amazon DCV 验证用户身份时 PAM 执行的步骤，您可以在 `dcv.conf` 的 `authentication` 部分中设置 `pam-service` 参数。

**更改 PAM 服务**

1. 以根用户身份导航到 `/etc/pam.d` 目录，并创建一个新文件，例如 `dcv-custom`。

1. 使用常用的文本编辑器编辑 `dcv-custom` 文件。有关 PAM 服务文件的语法，请参阅系统文档。

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 在 `[authentication]` 部分中找到 `pam-service` 参数。然后，将现有服务名称替换为新的 PAM 服务名称。

   如果在 `[authentication]` 部分中没有 `pam-service` 参数，请按以下格式手动添加该参数：

   ```
   [authentication]
   pam-service=service_name
   ```
**注意**  
PAM 服务名称必须与您在 `/etc/pam.d` 中创建的文件的名称匹配。

1. 保存并关闭 文件。

## 配置使用外部身份验证器的身份验证
<a name="set-authentication-external"></a>

可以将 DCV 配置为使用外部身份验证器。有关该过程及其要求的更多信息，请参阅[使用外部身份验证](external-authentication.md)。

# 使用外部身份验证
<a name="external-authentication"></a>

默认情况下，Amazon DCV 客户端身份验证委派给底层操作系统。对于 Windows Amazon DCV 服务器，将身份验证委托给。 WinLogon在 Linux 和 macOS 的 Amazon DCV 服务器中，身份验证委托给 Linux PAM。

您可以将 Amazon DCV 配置为使用外部身份验证服务器对客户端进行身份验证。这样，您就可以使用现有的身份验证系统了。对于外部身份验证，Amazon DCV 利用您的现有登录机制，并将身份验证委派给外部身份验证服务器。

外部身份验证验证用户是否具有 DCV 服务器访问权限，从而决定是否允许使用会话创建功能。与**系统**身份验证不同，外部身份验证不会根据底层操作系统验证您的用户身份，除非您将自己的外部身份验证器设置为这样做。

[DCV Session Manager](https://docs.aws.amazon.com/dcv/latest/sm-admin/what-is-sm.html) 内置一个外部身份验证器。要使用此功能，您的 DCV 服务器需要使用会话管理器地址设置[auth-token-verifier](https://docs.aws.amazon.com/dcv/latest/sm-admin/configure-dcv-server.html)参数。

要使用外部身份验证服务器，您必须具备以下条件：
+ **登录机制** - 这是用户登录时使用的前端机制。它应该能够使用现有的凭证验证系统验证您的用户，并且应该能够生成令牌并将其提供给 Amazon DCV 服务器。有关更多信息，请参阅 [使用令牌](#using-token)。
+ **身份验证服务器** - 这是对登录机制生成的令牌进行身份验证的服务器。该服务器应该能够从 Amazon DCV 服务器接收包含令牌的 HTTP（S）POST 请求，执行必要的身份验证，然后将响应发回到 Amazon DCV 服务器。有关实施身份验证服务器的更多信息，请参阅[身份验证服务要求](#configure-authenticator)。
+ **Amazon DCV 服务器配置** - Amazon DCV 服务器必须配置为使用外部身份验证服务器。有关更多信息，请参阅 [Amazon DCV 服务器配置](#configure-server)。

**Topics**
+ [Amazon DCV 服务器配置](#configure-server)
+ [使用令牌](#using-token)
+ [身份验证服务要求](#configure-authenticator)

## Amazon DCV 服务器配置
<a name="configure-server"></a>

您必须将 Amazon DCV 服务器配置为使用外部身份验证服务。

------
#### [ Windows Amazon DCV server ]

**在 Windows 上指定外部身份验证服务器**

1. 打开 Windows 注册表编辑器。

1. 导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1 dcv**\$1 key。

1. 在[安全**auth-token-verifier**参数中找到该参数](config-param-ref.md#security)。

1. 请执行以下操作之一：
   + 对于**值数据**，输入外部身份验证服务器的 URL 和用于通信的端口，格式如下所示：`url:port`。  
**Example**  

     例如，如果您使用的是 DcvSimpleExternalAuthenticator，请指定以下内容：`http://127.0.0.1:8444`。
   + 如果安全部分中没有**auth-token-verifier**参数，请将其添加到 PowerShell。请参阅[修改配置参数](https://docs.aws.amazon.com/dcv/latest/adminguide/config-param-ref-modify.html)。

1. 关闭 Windows 注册表编辑器。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ Linux Amazon DCV server ]

**在 Linux 上指定外部身份验证服务器**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 找到 `[security]` 部分中的 `auth-token-verifier` 参数，并将现有值替换为外部身份验证服务器的 URL 和用于通信的端口，格式如下所示：`url:port`。例如，如果您使用的是 DcvSimpleExternalAuthenticator，请指定以下内容：`http://127.0.0.1:8444`。

   如果 `auth-token-verifier` 部分中没有 `[security]` 参数，则使用以下格式手动添加此参数：

   ```
   [security] auth-token-verifier=url:port
   ```

1. 保存并关闭 文件。

------
#### [ macOS Amazon DCV server ]

**在 macOS 上指定外部身份验证服务器**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 找到 `[security]` 部分中的 `auth-token-verifier` 参数，并将现有值替换为外部身份验证服务器的 URL 和用于通信的端口，格式如下所示：`url:port`。例如，如果您使用的是 DcvSimpleExternalAuthenticator，请指定以下内容：`http://127.0.0.1:8444`。

   如果 `auth-token-verifier` 部分中没有 `[security]` 参数，则使用以下格式手动添加此参数：

   ```
   [security] auth-token-verifier=url:port
   ```

1. 保存并关闭 文件。

------

## 使用令牌
<a name="using-token"></a>

在生成令牌后，您必须能够将其发送到 Amazon DCV 服务器。对于 Web 浏览器客户端，将令牌附加到连接 URL 中，如下所示：

```
https://server_hostname_or_IP:port/?authToken=token#session_id
```

例如：

```
https://my-dcv-server.com:8443/?authToken=1234567890abcdef#my-session
```

## 身份验证服务要求
<a name="configure-authenticator"></a>

您的自定义身份验证服务可以在 Amazon DCV 服务器的同一主机上运行，也可以在单独的主机上运行。身份验证服务必须侦听来自 Amazon DCV 服务器的 HTTP（S）POST 请求。

下面显示了 Amazon DCV 服务器使用的 POST 请求格式。

```
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
sessionId=session_id&authenticationToken=token&clientAddress=client_address
```

您的身份验证服务负责确定提供的令牌是否有效。

在验证令牌后，身份验证服务器必须将响应返回到 Amazon DCV 服务器。响应正文必须包含以下内容之一，具体取决于身份验证过程的结果：
+ 如果身份验证成功，身份验证服务将返回结果 `yes` 和用户标识符。例如：

  ```
  <auth result="yes"><username>username</username></auth>
  ```
+ 如果身份验证失败，身份验证服务将返回结果 `no`。例如：

  ```
  <auth result="no"><message>message</message></auth>
  ```

### DcvSimpleExternalAuthenticator
<a name="simple-auth"></a>

Amazon DCV 附带了一个名为的参考外部身份验证服务器。`DcvSimpleExternalAuthenticator` DcvSimpleExternalAuthenticator 是一个 Python 脚本，您可以使用它作为创建自己的自定义身份验证服务器的起点。

DcvSimpleExternalAuthenticator 服务器支持 HTTP 和 HTTPS，并且必须运行在安装了 Amazon DCV 服务器的同一台服务器上。默认情况下， DcvSimpleExternalAuthenticator 监听端口`8444`上的请求。如果需要，您可以更改端口。为此，请使用常用的文本编辑器打开 `/etc/dcv/simpleextauth.conf`，找到 `EXTAUTH_PORT` 参数，然后将现有值替换为所需的端口号。

要使用 DcvSimpleExternalAuthenticator，必须安装`nice-dcv-simple-external-authenticator`软件包。有关更多信息，请参阅 [安装 Amazon DCV 服务器](setting-up-installing-linux-server.md#linux-server-install)。

### 使用简单外部身份验证器
<a name="usage"></a>



1. 导航到您的身份验证目录。

   `sudo mkdir -p /var/run/dcvsimpleextauth`

1. 生成您的身份验证令牌。  
**Example**  

   在该示例中，`123456` 是示例身份验证器令牌，`session-123` 是示例会话 ID，`username` 是用户。

   `echo "123456" | sudo dcvsimpleextauth add-user --session session-123 --auth-dir /var/run/dcvsimpleextauth/ --user username --append` 

1. 启动您的服务器。

   `sudo dcvsimpleextauth --port 8444 --auth-dir /var/run/dcvsimpleextauth/ start-server`

1. 在服务器运行后，测试配置以进行验证。  
**Example**  

   再次使用该示例，测试将按以下方式运行：

   `curl -k http://localhost:8444 -d sessionId=session-123 -d authenticationToken=123456`

   如果成功，您将收到身份验证结果 `yes`。

# 配置 Amazon DCV 授权
<a name="security-authorization"></a>

授权用于为 Amazon DCV 客户端授予或拒绝特定 Amazon DCV 特征的权限。在 Amazon DCV 中，授权是使用*权限文件*配置的。权限文件定义特定用户在连接到会话时可以使用的特定 Amazon DCV 特征。

Amazon DCV 支持两种类型的权限文件：

**Topics**
+ [默认权限文件](#security-authorization-default)
+ [自定义权限文件](#security-authorization-custom)
+ [了解权限文件](security-authorization-file-create.md)

## 默认权限文件
<a name="security-authorization-default"></a>

如果您在创建会话时未指定自定义权限文件，则将默认权限文件用于所有会话。默认权限文件仅向会话拥有者授予对所有功能的完全访问权限。

可以自定义默认权限文件以包含自定义授权。默认权限文件位于 Windows 亚马逊 DCV 服务器以及 Linux 和 macOS 亚马逊 DCV 服务器`/etc/dcv/default.perm`上。`C:\Program Files\NICE\DCV\Server\conf\default.perm`

有关自定义默认权限文件的信息，请参阅[了解权限文件](security-authorization-file-create.md)。

## 自定义权限文件
<a name="security-authorization-custom"></a>

您可以使用自定义权限文件定义特定用户或组在连接到 Amazon DCV 会话时有权访问的特征。在使用自定义权限文件时，将覆盖默认权限文件。

要使用自定义权限文件，您必须先创建该权限文件。接下来，在将 `--permissions-file` 选项与 `dcv create-session` 命令结合使用来启动会话时指定它。有关启动会话的更多信息，请参阅[启动 Amazon DCV 会话](managing-sessions-start.md)。

有关创建自定义权限文件的信息，请参阅[了解权限文件](security-authorization-file-create.md)。

# 了解权限文件
<a name="security-authorization-file-create"></a>

可以使用首选文本编辑器创建自定义权限文件或更新现有权限文件。权限文件通常采用以下格式：

```
#import file_to_import

[groups]
group_definitions
				
[aliases]
alias_definitions
				
[permissions]
user_permissions
```

以下部分说明如何在更新或创建权限文件时填充这些部分。

**Topics**
+ [导入权限文件](security-authorization-file-create-import.md)
+ [创建组](security-authorization-file-create-group.md)
+ [创建别名](security-authorization-file-create-alias.md)
+ [添加权限](security-authorization-file-create-permission.md)

# 导入权限文件
<a name="security-authorization-file-create-import"></a>

`imports` 部分通常是权限文件的第一个部分。您可以使用该部分引用和包含现有的权限文件。您还可以使用该部分将以前定义的 Amazon DCV 权限合并到您的权限文件中。

权限文件可包含多个导入。导入的权限文件可能导入其他权限文件。

**将一个权限文件导入您的权限文件中**
+ 使用 `#import` 语句并使用绝对或相对路径指定该文件的位置
  + Windows Amazon DCV 服务器：

    ```
    #import ..\file_path\file
    ```
  + Linux Amazon DCV 服务器：

    ```
    #import ../file_path/file
    ```

**示例**  
以下语句使用绝对路径导入名为 `dcv-permissions.file` 的权限文件。它位于 Windows Amazon DCV 服务器上的 Amazon DCV 安装文件夹中。

```
#import c:\Program Files\NICE\DCV\dcv-permissions.file
```

# 创建组
<a name="security-authorization-file-create-group"></a>

您可以使用权限文件的 `[groups]` 部分，为具有类似使用案例或权限要求的用户定义用户组。可以为组分配特定的权限。分配给组的权限适用于组中包含的所有用户。

要在权限文件中创建组，您必须先将组部分标题添加到文件中。

```
[groups]
```

然后，您可以在部分标题的下方创建您的组。要创建组，请提供组名称，然后在逗号分隔的列表中指定组成员。组成员可以是单个用户、其他组和操作系统用户组。

```
group_name=member_1, member_2, member_3
```

**将用户添加到组**  
指定用户名。

**注意**  
您可以为用户名添加前缀 `user:`。Windows 域用户名可以包含域名。

```
group_name=user_1, user:user_2, domain_name\user_3
```

**将现有组添加到一个组**  
指定前缀为 `group:` 的组名

```
group_name=group:group_1, group:group_2
```

**将操作系统用户组添加到一个组（仅限 Linux Amazon DCV 服务器）**  
指定前缀为 `osgroup:` 的组名

```
group_name=osgroup:os_group_1, osgroup:os_group2
```

**示例**  
以下示例添加 groups 部分标题，并创建一个名为 `my-group` 的组。该组包含各个用户。用户的名称为 `john` 和 `jane`。其中的一个组是名为 `observers` 的现有组。另一个组是名为 `guests` 的操作系统用户组：

```
[groups]
my-group=john, user:jane, group:observers, osgroup:guests
```

# 创建别名
<a name="security-authorization-file-create-alias"></a>

您可以使用权限文件的 `[aliases]` 部分创建 Amazon DCV 特征集。在定义别名后，您可以为组或各个用户授予或拒绝使用该别名的权限。授予或拒绝对别名的权限将授予或拒绝对其中包含的所有功能的权限。

要在权限文件中创建别名，您必须先将别名部分标题添加到文件中。

```
[aliases]
```

然后，您可以在部分标题的下方创建您的别名。要创建别名，请提供别名名称，然后在逗号分隔的列表中指定别名成员。别名成员可以是单个 Amazon DCV 特征或其他别名。

```
alias_name=member_1, member_2, member_3
```

**示例**  
以下示例添加 aliases 部分标题，并创建一个名为 `file-management` 的别名。它包括 `file-upload` 和 `file-download` 功能以及名为 `clipboard-management` 的现有别名。

```
[aliases]
file-management=file-upload, file-download, clipboard-management
```

# 添加权限
<a name="security-authorization-file-create-permission"></a>

权限文件的 `[permissions]` 部分可让您控制用户和组对特定功能或别名的访问权。

要将权限添加到权限文件，请先将权限部分标题添加到文件中。

```
[permissions]
```

然后，您可以在部分标题的下方添加您的权限。要添加一个权限，请指定该权限控制的角色、要应用的规则和该权限应用于的功能。

```
actor rule features
```

角色可以是用户、组或操作系统组。组的前缀必须为 `group:`。操作系统组必须以 `osgroup:` 为前缀。Amazon DCV 包含一个内置 `%owner%` 引用，可用于引用会话所有者。它还可用于引用内置的 `%any%` 引用，后者可用于引用任何用户。

以下规则可用于权限语句：
+ `allow` - 授予功能的访问权限。
+ `disallow` - 拒绝功能的访问权限，但可以被后续权限覆盖。
+ `deny` - 拒绝功能的访问权限，但不能被后续权限覆盖。

这些特征可以包括单独的 Amazon DCV 特征、别名或两者的组合。功能列表必须以空格分隔。Amazon DCV 包含一个内置的 `builtin` 别名，其中包含所有 Amazon DCV 特征。

可在权限文件中引用以下功能：
+ `audio-in` - 将音频从客户端插入到 Amazon DCV 服务器中。
+ `audio-out` - 在客户端上播放 Amazon DCV 服务器音频。
+ `builtin` - 所有功能。
+ `clipboard-copy` - 将数据从 Amazon DCV 服务器复制到客户端剪贴板。
+ `clipboard-paste` - 将数据从客户端剪贴板粘贴到 Amazon DCV 服务器。
+ `display` - 从 Amazon DCV 服务器接收视觉数据。
+ `extensions-client` - 允许启动 Amazon DCV 客户端上安装的扩展。
+ `extensions-server` - 允许启动 Amazon DCV 服务器上安装的扩展。
+ `file-download` - 从会话存储中下载文件。
+ `file-upload` - 将文件上传到会话存储中。
+ `gamepad` - 在会话中使用连接到客户端计算机的游戏手柄。在 Amazon DCV 2022.0 和更高版本上支持。
+ `keyboard` - 从客户端键盘输入到 Amazon DCV 服务器。
+ `keyboard-sas` - 使用安全注意序列（**CTRL\$1Alt\$1Del**）。需要 `keyboard` 功能。在 Amazon DCV 2017.3 和更高版本上支持。
+ `mouse` - 从客户端指针输入到 Amazon DCV 服务器。
+ `pointer` - 查看 Amazon DCV 服务器鼠标位置事件和指针形状。在 Amazon DCV 2017.3 和更高版本上支持。
+ `printer`— 从 Amazon DCV 服务器创建文件 PDFs 或 XPS 文件到客户端。
+ `screenshot` - 保存远程桌面的屏幕截图。在 Amazon DCV 2021.2 和更高版本上支持该特征。

  在删除 `screenshot` 授权时，我们建议您禁用 `clipboard-copy` 权限。这会禁止用户在服务器剪贴板上捕获屏幕截图并将其粘贴到客户端上。在拒绝 `screenshot` 授权时，Windows 和 macOS 还会禁止外部工具捕获客户端的屏幕截图。例如，在 Amazon DCV 客户端窗口上使用 Windows 截图工具将导致黑色图像。
+ `smartcard` - 从客户端中读取智能卡。
+ `stylus` - 从专用的 USB 设备中输入，例如 3D 指点设备或绘图板。
+ `touch` - 使用本机触摸事件。在 DCV 2017.3 版及更高版本上受支持。
+ `unsupervised-access` - 用于为协作会话中的用户设置无所有者访问权限。
+ `usb` - 使用客户端中的 USB 设备。
+ `webcam` - 在会话中使用连接到客户端计算机的网络摄像头。在 Amazon DCV 2021.0 和更高版本上支持。
+ `webauthn-redirection` - 将 WebAuthn 请求从远程浏览器重定向到本地客户端。在 Amazon DCV 2023.1 和更高版本上支持。

**示例**  
以下示例添加权限部分标头和 4 项权限。第一项权限向名为 `john` 的用户授予对 `display`、`file-upload` 和 `file-download` 功能的访问权。第二项权限拒绝 `observers` 组对 `audio-in` 和 `audio-out` 功能以及别名为 `clipboard-management` 的功能的访问权。第三项权限向 `guests` 操作系统组授予对 `clipboard-management` 和 `file-management` 别名的访问权。第四项权限向会话所有者授予对所有功能的访问权。

```
[permissions]
john allow display file-upload file-download			
group:observers deny audio-in audio-out clipboard-management
osgroup:guests allow clipboard-management file-management
%owner% allow builtin
```

# 为虚拟会话启用到 X 服务器的远程 X 连接
<a name="setup-xforwarding"></a>

默认情况下，由于存在固有的安全风险，`Xdcv` 禁止使用 X 转发。Amazon DCV 从较新版本的 Xorg 服务器继承该行为。Amazon DCV 服务器实施以下默认缓解措施以更大限度降低安全风险：
+ X 服务器禁止来自网络的 X 连接。X 服务器配置为使用 `-nolisten tcp` 命令行选项启动。但是，可以更改默认行为，以启用到 X 服务器的远程 X 连接。有关变通方法的更多信息，请参阅[启用到 X 服务器的远程 X 连接](#enable-remotex)。
+ X 服务器会禁用 GLX 间接上下文。由于与 DCV-GL 存在冲突，因此，目前没有变通办法来启用 GLX 间接上下文。

有关安全风险以及缓解措施的更多信息，请参阅[ X.Org 安全公告](https://www.x.org/wiki/Development/Security/Advisory-2014-12-09/)。

## 启用到 X 服务器的远程 X 连接
<a name="enable-remotex"></a>

默认情况下，`Xdcv` 配置为通过 `-nolisten tcp` 命令行选项来启动以降低安全风险。但是，可以更改默认行为，以启用 X 转发。

**启用 X 转发**  
使用所需的文本编辑器打开 `/etc/dcv/dcv.conf`。将以下内容添加到该文件的末尾：
+ 启用 X 通过 IPv4 和进行转发 IPv6

  ```
  [session-management]
  virtual-session-xdcv-args="-listen tcp"
  ```
+  IPv4 仅启用 X 转发

  ```
  [session-management]
  virtual-session-xdcv-args="-listen tcp -nolisten inet6"
  ```

**注意**  
启用 X 转发不会影响现有会话，而只会影响在启用它后启动的新会话。

**测试 X 转发**

1. 连接到 Amazon DCV 会话。

1. 确认 Amazon DCV 会话的 X 服务器正在侦听 6000-6063 范围内的端口。

   ```
   $ netstat -punta | grep 600
   ```

1. 将远程服务器添加到 X 服务器主机访问列表。

   ```
   $ xhost +remote_server
   ```

1. 检索 Amazon DCV 会话显示编号。

   ```
   $ dcv describe-session session_name | grep display
   ```

1. 通过 SSH 连接到托管该应用程序的远程服务器。

   ```
   $ ssh user@remote_server
   ```

1. 从远程服务器中，导出 display 环境变量以指向 Amazon DCV 会话的 X 服务器。

   ```
   $ export DISPLAY=dcv_server_ip:display_number
   ```

1. 从该远程服务器上，运行一个应用程序来测试 X 转发功能。例如：

   ```
   xterm
   ```

   测试应用程序（此处为 xterm）应显示在 Amazon DCV 服务器的桌面环境中。

# 将 Amazon DCV Web 浏览器客户端嵌入到 iFrame 中
<a name="embed-in-iframe"></a>

默认情况下，为了防止点击劫持攻击，Amazon DCV 不允许将 Web 浏览器客户端嵌入到 iFrame 中。不过，您可以覆盖该默认行为，以允许 Web 浏览器客户端在 iFrame 中运行。

有关防止点击劫持攻击的更多信息，请参阅 [Content Security Policy Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html#Preventing_Clickjacking)。

要允许 Web 浏览器在 iFrame 中运行，您必须将 Amazon DCV 服务器配置为向 Web 浏览器客户端发送以下额外的 HTTP 响应标头：
+ `web-x-frame-options`
+ `web-extra-http-headers`

我们建议您添加这两个标头，以确保 Web 浏览器之间的最佳兼容性。

**注意**  
如果通过 Amazon DCV Connection Gateway 进行连接，则需要在网关配置中定义 x 帧选项。这通过使用网关配置 [`[web-resources]` 部分](https://docs.aws.amazon.com/dcv/latest/gw-admin/config-reference.html#config-web-resources)中的 `local-resources-http-headers` 参数来完成。

------
#### [ Windows server ]

1. 打开 Windows 注册表编辑器并导航到 **HKEY\$1USERS\$1 S-1-5-18\$1 Software\$1\$1 com\$1 n icesoftwareGSettings\$1** dcv\$1 connectivity\$1 key。

1. 打开**web-x-frame-options**参数。对于**值数据**，输入 `"ALLOW-FROM https://server_hostname"`。
**注意**  
如果该参数不存在，则创建一个新的字符串参数并将其命名为 `web-x-frame-options`。

1. 打开**web-extra-http-headers**参数。对于**值数据**，输入 `[("Content-Security-Policy", "frame-ancestors https://server_hostname")]`。
**注意**  
如果该参数不存在，则创建一个新的字符串参数并将其命名为 `web-extra-http-headers`。

1. 关闭 Windows 注册表编辑器。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ Linux server ]

1. 使用首选文本编辑器打开 `/etc/dcv/dcv.conf`。

1. 请在 `[connectivity]` 部分执行以下操作：
   + 对于 `web-x-frame-options`，输入 `"ALLOW-FROM https://server_hostname"`。
   + 对于 `web-extra-http-headers`，输入 `[("Content-Security-Policy", "frame-ancestors https://server_hostname")]`。

   例如：

   ```
   [connectivity]
   web-x-frame-options="ALLOW-FROM https://my-dcv-server.com"
   web-extra-http-headers=[("Content-Security-Policy", "frame-ancestors https://my-dcv-server.com")]
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------

默认情况下，大多数浏览器禁止访问某些功能，例如麦克风访问和全屏访问。要允许访问这些功能，请修改网页上的 iFrame 元素。例如，要允许访问麦克风和全屏模式，请按以下方式修改 iFrame 元素：

```
<iframe src="..." allow="microphone; fullscreen"></iframe>
```