

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Abra un túnel para el dispositivo remoto y utilice SSH basado en navegador
<a name="tunneling-tutorial-existing-tunnel"></a>

Desde la AWS IoT consola, puedes crear un túnel desde el **hub de túneles** o desde la página de detalles de un elemento de IoT que hayas creado. Al crear un túnel desde el centro de **túneles**, puede especificar si desea crear un túnel mediante la configuración rápida o la configuración manual. Para ver un tutorial de ejemplo, consulte [Abra un túnel e inicie una sesión SSH en el dispositivo remoto](secure-tunneling-tutorial-open-tunnel.md).

Al crear un túnel desde la página de detalles del objeto de la AWS IoT consola, también puede especificar si desea crear un túnel nuevo o abrir uno existente para ese elemento, tal y como se muestra en este tutorial. Si elige un túnel existente, podrá acceder al túnel abierto más reciente que haya creado para este dispositivo. A continuación, puede utilizar la interfaz de línea de comandos dentro del terminal para SSH en el dispositivo. 

## Requisitos previos
<a name="tunneling-tutorial-existing-prerequisites"></a>
+ Los firewalls detrás del dispositivo remoto deben permitir el tráfico saliente en el puerto 443. El túnel que cree utilizará este puerto para conectarse al dispositivo remoto.
+ Ha creado una cosa de IoT (por ejemplo,`RemoteDevice1`) en el AWS IoT registro. Esto corresponde a la representación de su dispositivo remoto en la nube. Para obtener más información, consulte [Registro de un dispositivo en el registro AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/register-device.html).
+ Tiene un agente de dispositivo de IoT (consulte[Fragmento de agente de IoT](configure-remote-device.md#agent-snippet)) ejecutándose en el dispositivo remoto que se conecta a la puerta de enlace del AWS IoT dispositivo y está configurado con una suscripción a un tema de MQTT. Para obtener más información, consulte [conectar un dispositivo a la puerta de enlace del AWS IoT dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/sdk-tutorials.html).
+ Debe tener un daemon SSH ejecutándose en el dispositivo remoto.

## Abra un túnel nuevo para el dispositivo remoto
<a name="tunneling-tutorial-existing-open-tunnel"></a>

Supongamos que desea abrir un túnel hacia su dispositivo remoto, `RemoteDevice1`. Primero, cree una cosa de IoT con el nombre `RemoteDevice1` en el registro AWS IoT . A continuación, puede crear un túnel mediante la Consola de administración de AWS AWS IoT API de referencia o la AWS CLI. 

Al configurar un destino al crear un túnel, el servicio de tunelización segura entrega el token de acceso del cliente de destino al dispositivo remoto a través de MQTT y el tema MQTT reservado (`$aws/things/RemoteDeviceA/tunnels/notify`). Para obtener más información, consulte [Métodos de creación de túneles en la AWS IoT consola](secure-tunneling-tutorial-open-tunnel.md#tunneling-tutorial-flows).

**Para crear un túnel para un dispositivo remoto desde la consola**

1. Seleccione el objeto, `RemoteDevice1`, para ver sus detalles y, a continuación, seleccione **Crear túnel seguro**.  
![\[Detalles de un dispositivo denominado «RemoteDevice1" con su nombre de recurso de Amazon (ARN) mostrado.\]](http://docs.aws.amazon.com/es_es/iot/latest/developerguide/images/tunnel-create-thing.PNG)

1. Elija si desea crear un túnel nuevo o abrir uno existente. Para crear un túnel nuevo, elija **Crear túnel nuevo**. A continuación, puede elegir si desea utilizar el método de configuración manual o el de configuración rápida para crear el túnel. Para obtener más información, consulte [Abra un túnel mediante la configuración manual y conéctelo a un dispositivo remoto](tunneling-tutorial-manual-setup.md) y [Abra un túnel y usa SSH basado en un navegador para acceder al dispositivo remoto](tunneling-tutorial-quick-setup.md).

**Para crear un túnel para un dispositivo remoto mediante la API**  
Para abrir un túnel nuevo, puede utilizar la operación [OpenTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_OpenTunnel.html)API. El siguiente código muestra un ejemplo de ejecución de este comando.

```
aws iotsecuretunneling open-tunnel \ 
    --region us-east-1 \ 
    --endpoint https://api.us-east-1.tunneling.iot.amazonaws.com
    --cli-input-json file://input.json
```

A continuación se muestra el contenido del archivo `input.json`. Puede usar el parámetro `destinationConfig` para especificar el nombre del dispositivo de destino (por ejemplo, `RemoteDevice1`) y el servicio que desea usar para acceder al dispositivo de destino, por ejemplo, `SSH`. Si lo desea, también puede especificar parámetros adicionales, como etiquetas y descripción del túnel.

**Contenido de input.json**

```
{
   "description": "Tunnel to remote device1",
   "destinationConfig": { 
      "services": [ "SSH" ],
      "thingName": "RemoteDevice1"
   }
}
```

Al ejecutar este comando, se crea un túnel nuevo y se proporcionan los tokens de acceso de origen y destino. 

```
{
    "tunnelId": "01234567-89ab-0123-4c56-789a01234bcd",
    "tunnelArn": "arn:aws:iot:us-east-1:123456789012:tunnel/01234567-89ab-0123-4c56-789a01234bcd",
    "sourceAccessToken": "<SOURCE_ACCESS_TOKEN>",
    "destinationAccessToken": "<DESTINATION_ACCESS_TOKEN>"
}
```

## Abra un túnel existente y use SSH basado en un navegador
<a name="tunneling-tutorial-existing-convert-tunnel"></a>

Supongamos que ha creado el túnel para su dispositivo remoto mediante el método de configuración manual o mediante la AWS IoT API de referencia de la API. `RemoteDevice1` A continuación, puede abrir el túnel existente para el dispositivo y elegir **Configuración rápida** para utilizar la característica SSH basada en el navegador. Las configuraciones de un túnel existente no se pueden editar, por lo que no puede usar el método de configuración manual.

Para usar la característica SSH basada en el navegador, no tendrás que descargar el token de acceso a la fuente ni configurar el proxy local. Se configurará automáticamente un proxy local basado en la web para que pueda empezar a interactuar con su dispositivo remoto.

**Para usar el método de configuración rápida y el SSH basado en el navegador**

1. Vaya a la página de detalles de la cosa que ha creado y seleccione **Crear un túnel seguro `RemoteDevice1`**.

1. Seleccione **Usar un túnel existente** para abrir el túnel abierto más reciente que haya creado para el dispositivo remoto. Las configuraciones del túnel no se pueden editar, por lo que no puede utilizar el método de configuración manual del túnel. Para usar el método de configuración rápida, seleccione **Configuración rápida**.

1. Proceda a revisar y confirmar los detalles de la configuración del túnel y cree el túnel. Las configuraciones del túnel no se pueden editar.

   Al crear el túnel, la tunelización segura utilizará la operación de la [RotateTunnelAccessToken](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_RotateTunnelAccessToken.html)API para revocar los tokens de acceso originales y generar nuevos. Si su dispositivo remoto utiliza MQTT, estos tokens se entregarán automáticamente al dispositivo remoto en el tema MQTT al que esté suscrito. También puede optar por descargar estos tokens manualmente en su dispositivo de origen.

Una vez creado el túnel, puede usar el SSH basado en el navegador para interactuar con el dispositivo remoto directamente desde la consola mediante la interfaz de línea de comandos contextual. Para usar esta interfaz de línea de comandos, elige el túnel para lo que has creado y, en la página de detalles, expande la sección **Interfaz de línea de comandos.** Como el proxy local ya está configurado para usted, puede empezar a introducir comandos para empezar rápidamente a acceder a su dispositivo remoto e interactuar con él, `RemoteDevice1`

Para obtener más información sobre el método de configuración rápida y el uso del SSH basado en un navegador, consulte. [Abra un túnel y usa SSH basado en un navegador para acceder al dispositivo remoto](tunneling-tutorial-quick-setup.md)

## Limpieza
<a name="tunnel-cleanup-existing"></a>
+ 

**Cerrar el túnel**  
Le recomendamos que cierre el túnel una vez que haya terminado de usarlo. Un túnel también puede cerrarse si permanece abierto durante más tiempo del especificado. Un túnel no se puede volver a abrir una vez cerrado. Aún puede duplicar un túnel abriendo el túnel cerrado y, a continuación, seleccionando **Duplicar túnel**. Especifique la duración del túnel que quiere usar y, a continuación, cree el túnel nuevo.
  + Para cerrar un túnel individual o varios túneles desde la AWS IoT consola, vaya al [centro de túneles](https://console.aws.amazon.com/iot/home#/tunnels), elija los túneles que desee cerrar y, a continuación, elija **Cerrar túnel**.
  + Para cerrar un túnel individual o varios túneles mediante la AWS IoT API de referencia de la API, utilice la operación de la [CloseTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_CloseTunnel.html)API.

    ```
    aws iotsecuretunneling close-tunnel \ 
        --tunnel-id "01234567-89ab-0123-4c56-789a01234bcd"
    ```
+ 

**Eliminar túnel**  
Puedes eliminar un túnel de forma permanente de tu Cuenta de AWS.
**aviso**  
Las acciones de eliminación son permanentes y no se pueden deshacer.
  + Para eliminar un túnel individual o varios túneles desde la consola de AWS IoT , vaya al [centro de túneles](https://console.aws.amazon.com/iot/home#/tunnels), elija los túneles que desee cerrar y, a continuación, elija **Eliminar túnel**.
  + Para eliminar un túnel individual o varios túneles mediante la AWS IoT API de referencia de la API, utilice la operación [CloseTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_CloseTunnel.html)API. Cuando utilice la API, ajuste la marca `delete` a `true`.

    ```
    aws iotsecuretunneling close-tunnel \ 
        --tunnel-id "01234567-89ab-0123-4c56-789a01234bcd"
        --delete true
    ```