

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

# 安全隧道的工作原理
<a name="how-secure-tunneling-works"></a>

下面显示了安全隧道如何在源设备和目标设备之间建立连接。有关客户端访问令牌（CAT）等不同术语的信息，请参阅 [安全隧道概念](secure-tunneling-concepts.md)。

1. 

**打开隧道**  
要打开隧道以启动与远程目标设备的会话，您可以使用、open-t [Amazon CLI unnel](https://docs.amazonaws.cn/cli/latest/reference/iotsecuretunneling/open-tunnel.html) 命令或 [OpenTunnelAPI](https://docs.amazonaws.cn/iot/latest/apireference/API_iot-secure-tunneling_OpenTunnel)。 Amazon Web Services 管理控制台

1. 

**下载客户端访问令牌对**  
打开隧道后，您可以下载源和目标的客户端访问令牌（CAT）并将其保存在源设备上。在启动本地代理之前，必须先检索 CAT 并立即保存。

1. 

**在目标模式下启动本地代理**  
已安装且正在目标设备上运行的物联网代理，会订阅 MQTT 预留主题 `$aws/things/{{thing-name}}/tunnels/notify` 并接收 CAT。这里，{{thing-name}}是你为目的地创建的 Amazon IoT 东西的名称。有关更多信息，请参阅 [安全隧道主题](reserved-topics.md#reserved-topics-secure)。

   然后，IoT 代理使用 CAT 在目标模式下启动本地代理，再在隧道的目标端设置连接。有关更多信息，请参阅 [IoT 代理代码段](configure-remote-device.md#agent-snippet)。

1. 

**在源模式下启动本地代理**  
打开隧道后， Amazon IoT Device Management 提供源文件的 CAT，供您在源设备上下载。您可以使用 CAT 在源模式下启动本地代理，然后连接隧道的源端。有关本地代理的更多信息，请参阅 [本地代理](local-proxy.md)。

1. 

**打开 SSH 会话**  
由于隧道的两端都已连线，您可以使用源端的本地代理来开启 SSH 会话。

有关如何使用打开隧道和启动 SSH 会话的更多信息，请参阅[打开隧道并启动与远程设备的 SSH 会话](secure-tunneling-tutorial-open-tunnel.md)。 Amazon Web Services 管理控制台 

 以下视频不仅会介绍安全隧道的工作原理，还会全程指导您设置与 Raspberry Pi 设备的 SSH 会话。

[![AWS Videos](http://img.youtube.com/vi/Vq67jKZTR-c/0.jpg)](http://www.youtube.com/watch?v=Vq67jKZTR-c)
