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 para dispositivo remoto e use SSH baseado em navegador
No AWS IoT console, você pode criar um túnel a partir do hub de túneis ou da página de detalhes de uma coisa de IoT que você criou. Ao criar um túnel a partir do hub Túneis, você pode especificar se deseja criar um túnel usando a configuração rápida ou a configuração manual. Para obter um tutorial de exemplo, consulte Abra um túnel e inicie a sessão SSH no dispositivo remoto.
Ao criar um túnel a partir da página de detalhes do item do AWS IoT console, você também pode especificar se deseja criar um novo túnel ou abrir um túnel existente para essa coisa, conforme ilustrado neste tutorial. Se você escolher um túnel existente, poderá acessar o túnel aberto mais recente que você criou para esse dispositivo. Você pode então usar a interface de linha de comando no terminal para conectar-se via SSH ao dispositivo.
Pré-requisitos
-
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ê criou uma coisa de IoT (por exemplo,
RemoteDevice1
) no AWS IoT registro. Esse item corresponde à representação do seu dispositivo remoto na nuvem. Para obter mais informações, consulte Registrar um dispositivo no AWS IoT registro. -
Você tem um agente de dispositivo IoT (consulteSnippet de atendente de IoT) 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.
-
É necessário ter um daemon SSH em execução no dispositivo remoto.
Abra um novo túnel para o dispositivo remoto
Digamos que você queira abrir um túnel em seu dispositivo remoto, RemoteDevice1
. Primeiro, crie um item da IoT com o nome RemoteDevice1
no AWS IoT
registro. Em seguida, você pode criar um túnel usando a AWS Management Console AWS IoT API de referência da API ou AWS CLI a.
Ao configurar um destino ao criar um túnel, o serviço de encapsulamento seguro entrega o token de acesso do cliente de destino ao dispositivo remoto por meio do MQTT e do tópico MQTT reservado ($aws/things/RemoteDeviceA/tunnels/notify
). Para obter mais informações, consulte Métodos de criação de túneis no AWS IoT console.
Para criar um túnel para um dispositivo remoto a partir do console
Escolha o item,
RemoteDevice1
, para ver seus detalhes e, em seguida, escolha Criar túnel seguro.Escolha se deseja criar um novo túnel ou abrir um túnel existente. Para criar um novo túnel, escolha Criar novo túnel. Você pode então escolher se deseja usar a configuração manual ou o método de configuração rápida para criar o túnel. Para obter mais informações, consulte Abra um túnel usando a configuração manual e conecte-se ao dispositivo remoto e Abra um túnel e use o SSH baseado em navegador para acessar o dispositivo remoto.
Criar um túnel para um dispositivo remoto usando a API
Para abrir um novo túnel, você pode usar a operação OpenTunnelda API. O código a seguir mostra um exemplo de execução deste comando.
aws iotsecuretunneling open-tunnel \ --region
us-east-1
\ --endpoint https://api.us-east-1
.tunneling.iot.amazonaws.com --cli-input-jsonfile://input.json
O exemplo a seguir mostra o conteúdo do arquivo input.json
. Você pode usar o destinationConfig
parâmetro para especificar o nome do dispositivo de destino (por exemplo,
) e o serviço que você deseja usar para acessar o dispositivo de destino, como RemoteDevice1
. Se preferir, você também poderá especificar parâmetros adicionais, como descrição do túnel e tags.SSH
Conteúdo de input.json
{ "description": "
Tunnel to remote device1
", "destinationConfig": { "services": [ "SSH
" ], "thingName": "RemoteDevice1
" } }
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>
" }
Abra um túnel existente e use o SSH baseado em navegador
Digamos que você tenha criado o túnel para seu dispositivo remoto usando o método de configuração manual ou usando a AWS IoT API de referência da API. RemoteDevice1
Em seguida, você pode abrir o túnel existente para o dispositivo e escolher Configuração rápida para usar o atributo SSH baseado em navegador. As configurações de um túnel existente não podem ser editadas, então você não pode usar o método de configuração manual.
Para usar o atributo SSH baseado em navegador, você não precisará baixar o token de acesso de origem nem configurar o proxy local. Um proxy local baseado na web será configurado automaticamente para que você possa começar a interagir com seu dispositivo remoto.
Para usar o método de configuração rápida e o SSH baseado em navegador
Vá para a página de detalhes do item que você criou,
RemoteDevice1
, e crie um túnel seguro.Escolha Usar túnel existente para abrir o túnel aberto mais recente que você criou para o dispositivo remoto. As configurações de um túnel não podem ser editadas, então você não pode usar o método de configuração manual. Para usar o método de configuração rápida, selecione Configuração rápida.
-
Continue revisando e confirmando os detalhes da configuração do túnel e criando o túnel. As configurações do túnel não podem ser editadas.
Quando você cria o túnel, o tunelamento seguro usa a operação da RotateTunnelAccessTokenAPI para revogar os tokens de acesso originais e gerar novos tokens de acesso. Se seu dispositivo remoto usar MQTT, esses tokens serão automaticamente entregues ao dispositivo remoto no tópico do MQTT no qual ele está inscrito. Você também pode optar por baixar esses tokens manualmente para o dispositivo de origem.
Depois de criar o túnel, você pode usar o SSH baseado em navegador para interagir com o dispositivo remoto diretamente do console usando a interface de linha de comando no contexto. Para usar essa interface de linha de comando, escolha o túnel para o item que você criou e, na página de detalhes, expanda a seção Interface de linha de comando. Como o proxy local já foi configurado para você, você pode começar a inserir comandos para começar rapidamente a acessar e interagir com seu dispositivo remoto, RemoteDevice1
.
Para obter mais informações sobre o método de configuração rápida e o uso do SSH baseado em navegador, consulte Abra um túnel e use o SSH baseado em navegador para acessar o dispositivo remoto.
Liberar
-
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
, 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 CloseTunnelAPI.
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
, 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 CloseTunnelAPI. Ao usar a API, defina o sinalizador
delete
comotrue
.aws iotsecuretunneling close-tunnel \ --tunnel-id "01234567-89ab-0123-4c56-789a01234bcd" --delete true
-