

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Apertura di un tunnel per dispositivo remoto e utilizzo di SSH basato su browser
<a name="tunneling-tutorial-existing-tunnel"></a>

Dalla AWS IoT console, puoi creare un tunnel dall'**hub Tunnels** o dalla pagina dei dettagli di un oggetto IoT che hai creato. Quando si crea un tunnel dall'hub **Tunnels** (Tunnel), è possibile specificare se creare un tunnel utilizzando la configurazione rapida o manuale. Per un esempio di tutorial, consultare [Apertura di un tunnel e avvio di una sessione SSH su un dispositivo remoto](secure-tunneling-tutorial-open-tunnel.md).

Quando crei un tunnel dalla pagina dei dettagli dell'oggetto della AWS IoT console, puoi anche specificare se creare un nuovo tunnel o aprire un tunnel esistente per quell'oggetto, come illustrato in questo tutorial. Se si sceglie un tunnel esistente, è possibile accedere al tunnel aperto più recente creato per questo dispositivo. È quindi possibile utilizzare l'interfaccia a riga di comando all'interno del terminale per accedere tramite SSH al dispositivo. 

## Prerequisiti
<a name="tunneling-tutorial-existing-prerequisites"></a>
+ I firewall dietro cui si trova il dispositivo remoto devono consentire il traffico in uscita sulla porta 443. Il tunnel creato utilizzerà questa porta per connettersi al dispositivo remoto.
+ È stato creato un oggetto IoT (ad esempio`RemoteDevice1`) nel AWS IoT registro. Questo oggetto corrisponde alla rappresentazione del dispositivo remoto nel cloud. Per ulteriori informazioni, consulta la sezione relativa alla [registrazione di un dispositivo nel registro AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/register-device.html).
+ Sul dispositivo remoto è in esecuzione un agente per dispositivi IoT (vedi[Snippet dell'agente IoT](configure-remote-device.md#agent-snippet)) che si connette al gateway del AWS IoT dispositivo ed è configurato con un abbonamento tematico MQTT. Per ulteriori informazioni, consulta [Connettere un dispositivo al gateway del AWS IoT dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/sdk-tutorials.html).
+ È necessario disporre di un daemon SSH in esecuzione sul dispositivo remoto.

## Apertura di un nuovo tunnel per il dispositivo remoto
<a name="tunneling-tutorial-existing-open-tunnel"></a>

Supponiamo di voler aprire un tunnel nel dispositivo remoto, `RemoteDevice1`. Innanzitutto, creiamo un oggetto IoT con il nome `RemoteDevice1` nel registro AWS IoT . È quindi possibile creare un tunnel utilizzando Console di gestione AWS l' AWS IoT API Reference API o il AWS CLI. 

Configurando una destinazione durante la creazione di un tunnel, il servizio tunneling sicuro fornisce il token di accesso al client di destinazione al dispositivo remoto tramite MQTT e l'argomento MQTT riservato (`$aws/things/RemoteDeviceA/tunnels/notify`). Per ulteriori informazioni, consulta [Metodi di creazione di tunnel nella AWS IoT console](secure-tunneling-tutorial-open-tunnel.md#tunneling-tutorial-flows).

**Per creare un tunnel per un dispositivo remoto dalla console**

1. Scegli l'oggetto, `RemoteDevice1`, per visualizzare i relativi dettagli, quindi seleziona **Create secure tunnel** (Crea un tunnel sicuro).  
![\[Dettagli di un dispositivo denominato "RemoteDevice1" con il relativo Amazon Resource Name (ARN) visualizzato.\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/images/tunnel-create-thing.PNG)

1. Scegli se creare un nuovo tunnel o aprire un tunnel esistente. Per creare un nuovo tunnel, scegli **Create new tunnel** (Crea un nuovo tunnel). Puoi quindi scegliere se utilizzare il metodo di configurazione rapida o il metodo di configurazione manuale per creare il tunnel. Per ulteriori informazioni, consultare [Apertura di un tunnel utilizzando la configurazione manuale e connessione al dispositivo remoto](tunneling-tutorial-manual-setup.md) e [Apertura di un tunnel e utilizzo di SSH basato su browser per accedere al dispositivo remoto](tunneling-tutorial-quick-setup.md).

**Creazione di un tunnel per un dispositivo remoto mediante l'API**  
Per aprire un nuovo tunnel, puoi utilizzare l'operazione [OpenTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_OpenTunnel.html)API. Nel codice seguente viene illustrato un esempio di esecuzione di questo 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
```

Di seguito viene mostrato il contenuto per il file `input.json`. È possibile utilizzare il parametro `destinationConfig` per specificare il nome del dispositivo di destinazione (ad esempio, `RemoteDevice1`) e il servizio che si desidera utilizzare per accedere al dispositivo di destinazione, ad esempio `SSH`. Facoltativamente, è anche possibile specificare parametri aggiuntivi come la descrizione del tunnel e i tag.

**Contenuto di input.json**

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

L'esecuzione di questo comando crea un nuovo tunnel e fornisce i token di accesso di origine e destinazione. 

```
{
    "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>"
}
```

## Apertura di un tunnel esistente e utilizzo di SSH basato su browser
<a name="tunneling-tutorial-existing-convert-tunnel"></a>

Supponiamo che tu abbia creato il tunnel per il tuo dispositivo remoto`RemoteDevice1`, utilizzando il metodo di configurazione manuale o utilizzando l' AWS IoT API Reference API. È quindi possibile aprire il tunnel esistente per il dispositivo e scegliere **Quick setup** (Configurazione rapida) per utilizzare la funzionalità SSH basata sul browser. Le configurazioni di un tunnel esistente non possono essere modificate, pertanto non è possibile utilizzare il metodo di configurazione manuale.

Per utilizzare la funzionalità SSH basata su browser, non è necessario scaricare il token di accesso di origine o configurare il proxy locale. Un proxy locale basato sul Web verrà configurato automaticamente in modo da poter iniziare a interagire con il dispositivo remoto.

**Per utilizzare il metodo di configurazione rapida e l'SSH basato su browser**

1. Vai alla pagina dei dettagli dell'oggetto creato in precedenza, `RemoteDevice1`, e scegli **Create secure tunnel** (Crea un tunnel sicuro).

1. Scegli **Use existing tunnel** (Utilizza un tunnel esistente) per aprire il tunnel aperto più recente creato per il dispositivo remoto. Le configurazioni del tunnel non possono essere modificate, pertanto non è possibile utilizzare il metodo di configurazione manuale per il tunnel. Per utilizzare il metodo di configurazione rapida, scegli **Quick setup** (Configurazione rapida).

1. Continua per esaminare e confermare i dettagli di configurazione del tunnel e creare il tunnel. Le configurazioni del tunnel non possono essere modificate.

   Quando crei il tunnel, il tunneling sicuro utilizzerà l'operazione [RotateTunnelAccessToken](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_RotateTunnelAccessToken.html)API per revocare i token di accesso originali e generare nuovi token di accesso. Se il dispositivo remoto utilizza MQTT, questi token verranno automaticamente distribuiti al dispositivo remoto nell'argomento MQTT a cui è iscritto. Puoi anche scegliere di scaricare questi token manualmente sul dispositivo di origine.

Dopo aver creato il tunnel, puoi utilizzare l'SSH basato su browser per interagire con il dispositivo remoto direttamente dalla console utilizzando l'interfaccia a riga di comando contestuale. Per utilizzare questa interfaccia a riga di comando, scegli il tunnel per l'oggetto creato in precedenza e, nella pagina dei dettagli, espandi la sezione **Command-line interface** (Interfaccia a riga di comando). Poiché il proxy locale è già stato configurato automaticamente, puoi iniziare a inserire i comandi per iniziare rapidamente ad accedere e interagire con il tuo dispositivo remoto, `RemoteDevice1`.

Per ulteriori informazioni sul metodo di configurazione rapida e sull'utilizzo di SSH basato su browser, consulta [Apertura di un tunnel e utilizzo di SSH basato su browser per accedere al dispositivo remoto](tunneling-tutorial-quick-setup.md).

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

**Chiusura del tunnel**  
Al termine dell'utilizzo, si consiglia di chiudere il tunnel. Un tunnel può chiudersi anche se è rimasto aperto per un periodo di tempo superiore alla durata del tunnel specificata. Un tunnel non può essere riaperto dopo che è stato chiuso. È ancora possibile duplicare un tunnel aprendo il tunnel chiuso e quindi selezionando **Duplicate tunnel** (Duplica tunnel). Specificare la durata del tunnel che si desidera utilizzare, quindi creare il nuovo tunnel.
  + Per chiudere un singolo tunnel o più tunnel dalla console AWS IoT , passa all'[Hub dei tunnel](https://console.aws.amazon.com/iot/home#/tunnels), scegli i tunnel che desideri chiudere, quindi seleziona **Close tunnel** (Chiudi tunnel).
  + Per chiudere uno o più tunnel utilizzando l' AWS IoT API Reference API, utilizza l'operazione API. [CloseTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_CloseTunnel.html)

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

**Eliminazione del tunnel**  
Puoi eliminare definitivamente un tunnel dal tuo Account AWS.
**avvertimento**  
Le operazioni di eliminazione sono permanenti e non possono essere annullate.
  + Per eliminare un singolo tunnel o più tunnel dalla console AWS IoT , passa all'[Hub dei tunnel](https://console.aws.amazon.com/iot/home#/tunnels), scegli i tunnel che desideri eliminare, quindi seleziona **Delete tunnel** (Elimina tunnel).
  + Per eliminare uno o più tunnel utilizzando l' AWS IoT API Reference API, utilizza l'operazione [CloseTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_CloseTunnel.html)API. Quando utilizzi l'API, imposta il flag `delete` su `true`.

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