

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Abra um túnel usando a configuração manual e conecte-se ao dispositivo remoto
<a name="tunneling-tutorial-manual-setup"></a>

Ao abrir um túnel, você pode escolher a configuração rápida ou o método de configuração manual para abrir um túnel no dispositivo remoto. Este tutorial mostra como abrir um túnel usando o método de configuração manual e configurar e iniciar o proxy local para se conectar ao dispositivo remoto.

Ao usar o método de configuração manual, você deve especificar manualmente as configurações do túnel ao criar o túnel. Depois de criar o túnel, você pode usar o SSH no navegador ou abrir um terminal fora do AWS IoT console. Este tutorial mostra como usar o terminal fora do console para acessar o dispositivo remoto. Você também aprenderá a configurar o proxy local e depois se conectar ao proxy local para interagir com o dispositivo remoto. Para se conectar ao proxy local, você deve baixar o token de acesso de origem ao criar o túnel.

Com este método de configuração, você pode usar outros serviços além do SSH, como FTP, para conectar-se ao dispositivo remoto. Para obter informações sobre os diferentes métodos de configuração, consulte [Métodos de configuração de túnel](secure-tunneling-tutorial-open-tunnel.md#tunneling-tutorial-setup-methods).

## Pré-requisitos para o método de configuração manual
<a name="tunneling-tutorial-manual-prerequisites"></a>
+ Os firewalls que protegem o dispositivo remoto devem permitir o tráfego de saída na porta 443. O túnel que você criar usará essa porta para se conectar ao dispositivo remoto.
+ Você tem um agente de dispositivo IoT (consulte[Snippet de atendente de IoT](configure-remote-device.md#agent-snippet)) em execução no dispositivo remoto que se conecta ao gateway do AWS IoT dispositivo e está configurado com uma assinatura de tópico do MQTT. Para obter mais informações, consulte [conectar um dispositivo ao gateway do AWS IoT dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/sdk-tutorials.html).
+ É necessário ter um daemon SSH em execução no dispositivo remoto.
+ Você baixou o código-fonte do proxy local [GitHub](https://github.com/aws-samples/aws-iot-securetunneling-localproxy)e o construiu para a plataforma de sua escolha. O arquivo executável do proxy local criado aparecerá como `localproxy` neste tutorial.

## Abrir um túnel
<a name="open-tunnel"></a>

Você pode abrir um túnel seguro usando a Console de gerenciamento da AWS, a Referência da AWS IoT API ou AWS CLI a. Opcionalmente, você pode configurar um nome de destino, mas isso não é necessário para este tutorial. Se você configurar o destino, o encapsulamento seguro entregará automaticamente o token de acesso ao dispositivo remoto usando o MQTT. Para obter mais informações, consulte [Métodos de criação de túneis no AWS IoT console](secure-tunneling-tutorial-open-tunnel.md#tunneling-tutorial-flows).

**Abrir um túnel no console**

1. Vá para o [hub de túneis do AWS IoT console](https://console.aws.amazon.com/iot/home#/tunnelhub) e selecione **Criar túnel**.  
![\[AWS IoT console mostrando uma lista vazia de túneis com opções para criar, fechar ou excluir túneis.\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/tunnels-page.png)

1. Para este tutorial, selecione **Configuração manual** como método de criação de túneis e, em seguida, selecione **Próximo**. Para obter informações sobre como usar o método de **configuração rápida** para criar um túnel, consulte [Abra um túnel e use o SSH baseado em navegador para acessar o dispositivo remoto](tunneling-tutorial-quick-setup.md).
**nota**  
Se você criar um túnel seguro na página de detalhes de um item, poderá escolher se deseja criar um novo túnel ou usar um existente. Para obter mais informações, consulte [Abra um túnel para dispositivo remoto e use SSH baseado em navegador](tunneling-tutorial-existing-tunnel.md).  
![\[Duas opções para configurar uma conexão de túnel: Configuração rápida (SSH) ou Configuração manual, que requer a configuração de um proxy local e o gerenciamento de tokens de acesso.\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/tunnels-choose-manual.PNG)

1. (Opcional) Insira as definições de configuração do seu túnel. Você também pode pular essa etapa e prosseguir para a próxima etapa para criar um túnel. 

   Insira uma descrição do túnel, a duração do tempo limite do túnel e as tags de recursos como pares de valores-chave para ajudá-lo a identificar seu recurso. Neste tutorial, você pode ignorar a configuração de destino.
**nota**  
Você não será cobrado com base no tempo pelo qual você mantém um túnel aberto. Você só incorre em cobranças ao criar um novo túnel. Para obter informações sobre preços, consulte **Encapsulamento seguro** em [AWS IoT Device Management preços](https://aws.amazon.com/iot-device-management/pricing/).

1. Faça o download dos tokens de acesso do cliente e escolha **Concluído**. Os tokens não estarão disponíveis para download depois que você escolher **Concluído**.

   Esses tokens só podem ser usados uma vez para se conectar ao túnel. Se você perder os tokens ou o túnel for desconectado, você poderá gerar e enviar novos tokens ao seu dispositivo remoto para reconectar-se ao túnel.  
![\[Tokens de acesso de origem e destino para criar uma conexão de túnel segura, com instruções sobre como girar e reenviar tokens, se necessário.\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/tunnel-success.png)

**Abrir um túnel usando a API**  
Para abrir um novo túnel, você pode usar a operação [OpenTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_OpenTunnel.html)da API. Você também pode especificar configurações adicionais usando a API, como a duração do túnel e a configuração de destino.

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

A execução desse comando cria um novo túnel e fornece os tokens de acesso de origem e 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>"
}
```

## Reenviar tokens de acesso ao túnel
<a name="resend-access-tokens"></a>

Os tokens que você obteve ao criar um túnel só podem ser usados uma vez para se conectar ao túnel. Se você perder o token de acesso ou o túnel for desconectado, você poderá reenviar novos tokens de acesso ao dispositivo remoto usando o MQTT sem custo adicional. AWS IoT o tunelamento seguro revogará os tokens atuais e retornará novos tokens de acesso para se reconectar ao túnel.

**Para alternar os tokens a partir do console**

1. Acesse o [hub de túneis do AWS IoT console e escolha o](https://console.aws.amazon.com/iot/home#/tunnels) túnel que você criou.

1. Na página de detalhes do túnel, selecione **Gerar novos tokens de acesso** e, em seguida, selecione **Próximo**.

1. Baixe os novos tokens de acesso para seu túnel e selecione **Concluído**. Esses tokens só podem ser usados uma vez. Se você perder esses tokens ou o túnel for desconectado, você poderá reenviar novos tokens de acesso.  
![\[Tokens de acesso para dispositivos de origem e destino com opções para copiá-los ou baixá-los. O texto explica que girar os tokens revoga os tokens atuais e geram novos tokens de uso único para reconectar um túnel desconectado.\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/tunnel-token-rotated.PNG)

**Para alternar os tokens de acesso usando a API**  
Para girar os tokens de acesso ao túnel, você pode usar a operação da [RotateTunnelAccessToken](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_RotateTunnelAccessToken.html)API para revogar os tokens atuais e retornar novos tokens de acesso para se reconectar ao túnel. Por exemplo, o comando a seguir alterna os tokens de acesso para o dispositivo de destino, *`RemoteThing1`*. 

```
aws iotsecuretunneling rotate-tunnel-access-token \ 
    --tunnel-id <tunnel-id> \ 
    --client-mode DESTINATION \ 
    --destination-config thingName=<RemoteThing1>,services=SSH \ 
    --region <region>
```

A execução desse comando gera o novo token de acesso, como mostrado no exemplo a seguir. O token é então entregue ao dispositivo usando o MQTT para se conectar ao túnel, se o atendente do dispositivo estiver configurado corretamente.

```
{
    "destinationAccessToken": "destination-access-token", 
    "tunnelArn": "arn:aws:iot:region:account-id:tunnel/tunnel-id"
}
```

Para exemplos que mostram como e quando alternar os tokens de acesso, consulte [Resolvendo problemas de conectividade de tunelamento AWS IoT seguro por meio da rotação dos tokens de acesso do cliente](iot-secure-tunneling-troubleshooting.md).

## Configurar e iniciar o proxy local
<a name="start-local-proxy"></a>

Para se conectar ao dispositivo remoto, abra um terminal em seu laptop e configure e inicie o proxy local. O proxy local transmite dados enviados pelo aplicativo em execução no dispositivo de origem usando o tunelamento seguro em uma conexão segura. WebSocket Você pode baixar a fonte do proxy local em [GitHub](https://github.com/aws-samples/aws-iot-securetunneling-localproxy).

Depois de configurar o proxy local, copie o token de acesso do cliente de origem e use-o para iniciar o proxy local no modo de origem. A seguir, segue um exemplo de comando para iniciar o proxy local. No comando a seguir, o proxy local está configurado para receber novas conexões na porta 5555. Neste comando:
+ `-r`especifica o Região da AWS, que deve ser a mesma região em que seu túnel foi criado.
+ `-s` especifica a porta à qual o proxy deve se conectar.
+ `-t` especifica o texto do token do cliente.

```
./localproxy -r us-east-1 -s 5555 -t source-client-access-token
```

A execução desse comando iniciará o proxy local no modo de origem. Se você receber o seguinte erro após executar o comando, configure o caminho da CA. Para obter informações, consulte [Proxy local de tunelamento seguro](https://github.com/aws-samples/aws-iot-securetunneling-localproxy) ativado. GitHub

```
Could not perform SSL handshake with proxy server: certificate verify failed
```

Veja a seguir um exemplo de saída da execução do proxy local no modo `source`.

```
...
...

Starting proxy in source mode
Attempting to establish web socket connection with endpoint wss://data.tunneling.iot.us-east-1.amazonaws.com:443
Resolved proxy  server IP: 10.10.0.11
Connected successfully with proxy server
Performing SSL handshake with proxy server	
Successfully completed SSL handshake with proxy server
HTTP/1.1 101 Switching Protocols

...

Connection: upgrade
channel-id: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456
upgrade: websocket

...

Web socket session ID: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456
Web socket subprotocol selected: aws.iot.securetunneling-2.0
Successfully established websocket connection with proxy server: wss://data.tunneling.iot.us-east-1.amazonaws.com:443
Setting up web socket pings for every 5000 milliseconds
Scheduled next read:

...

Starting web socket read loop continue reading...
Resolved bind IP: 127.0.0.1
Listening for new connection on port 5555
```

## Iniciar uma sessão SSH
<a name="start-ssh-session"></a>

Abra outro terminal e use o comando a seguir para iniciar uma nova sessão SSH conectando-se ao proxy local na porta 5555.

```
ssh username@localhost -p 5555
```

Talvez seja solicitada uma senha para a sessão SSH. Quando finalizar a sessão SSH, digite **exit** para fechar a sessão.

## Liberar
<a name="tunnel-cleanup-manual"></a>
+ 

**Fechar túnel**  
Recomendamos que você feche o túnel depois de terminar de usá-lo. Um túnel também pode ficar fechado se permanecer aberto por mais tempo do que a duração especificada do túnel. Um túnel não pode ser reaberto depois de fechado. Você ainda pode duplicar um túnel abrindo o túnel fechado e selecionando **Duplicar túnel**. Especifique a duração do túnel que você deseja usar e, em seguida, crie o novo túnel.
  + Para fechar um túnel individual ou vários túneis a partir do AWS IoT console, acesse o [Hub de túneis](https://console.aws.amazon.com/iot/home#/tunnels), escolha os túneis que você deseja fechar e escolha **Fechar túnel**.
  + Para fechar um túnel individual ou vários túneis usando a AWS IoT API de referência da API, use a operação da [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"
    ```
+ 

**Excluir túnel**  
Você pode excluir um túnel permanentemente do seu Conta da AWS.
**Atenção**  
Uma ação de exclusão é permanente e não pode ser desfeita.
  + Para excluir um túnel individual ou vários túneis a partir do AWS IoT console, acesse o [Hub de túneis](https://console.aws.amazon.com/iot/home#/tunnels), escolha os túneis que você deseja excluir e escolha **Excluir túnel**.
  + Para excluir um túnel individual ou vários túneis usando a AWS IoT API de referência da API, use a operação da [CloseTunnel](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_CloseTunnel.html)API. Ao usar a API, defina o sinalizador `delete` como `true`.

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