Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Ouvrez un tunnel pour un appareil distant et utilisez un navigateur SSH
Depuis la AWS IoT console, vous pouvez créer un tunnel depuis le hub Tunnels ou depuis la page de détails d'un objet IoT que vous avez créé. Lorsque vous créez un tunnel à partir du hub Tunnels, vous pouvez spécifier si vous souhaitez créer un tunnel à l'aide de la configuration rapide ou de la configuration manuelle. Pour voir un exemple de didacticiel, consultez la section Ouvrez un tunnel et démarrez une SSH session sur un appareil distant.
Lorsque vous créez un tunnel à partir de la page de détails de l'objet de la AWS IoT console, vous pouvez également spécifier s'il faut créer un nouveau tunnel ou ouvrir un tunnel existant pour cet objet, comme illustré dans ce didacticiel. Si vous choisissez un tunnel existant, vous pouvez accéder au tunnel ouvert le plus récent que vous avez créé pour cet appareil. Vous pouvez ensuite utiliser l'interface de ligne de commande du terminal pour accéder à SSH l'appareil.
Prérequis
-
Les pare-feu derrière l'appareil distant doivent autoriser permettre le trafic sortant sur le port 443. Le tunnel que vous créez utilisera ce port pour se connecter au périphérique distant.
-
Vous avez créé un objet IoT (par exemple,
RemoteDevice1
) dans le AWS IoT registre. Cela correspond à la représentation de votre appareil distant dans le cloud. Pour plus d'informations, consultez Enregistrement d'un appareil dans le AWS IoT registre. -
Vous disposez d'un agent pour appareils IoT (voirExtrait de l'agent IoT) exécuté sur l'appareil distant qui se connecte à la passerelle des AWS IoT appareils et qui est configuré avec un abonnement à une MQTT rubrique. Pour plus d'informations, voir connecter un appareil à la passerelle de AWS IoT périphériques.
-
Vous devez avoir un SSH daemon en cours d'exécution sur l'appareil distant.
Ouvrez un nouveau tunnel pour le périphérique distant
Supposons que vous souhaitiez ouvrir un tunnel vers votre appareil distant, RemoteDevice1
. Tout d'abord, créez un objet IoT dont le nom RemoteDevice1
figure dans le AWS IoT
registre. Vous pouvez ensuite créer un tunnel en utilisant le AWS Management Console, la AWS IoT API référence API ou le AWS CLI.
En configurant une destination lors de la création d'un tunnel, le service de tunneling sécurisé fournit le jeton d'accès client de destination au périphérique distant MQTT et le MQTT sujet réservé ()$aws/things/RemoteDeviceA/tunnels/notify
. Pour de plus amples informations, veuillez consulter Méthodes de création de tunnels dans AWS IoT la console.
Pour créer un tunnel pour un appareil distant à partir de la console
Choisissez l'objet,
RemoteDevice1
, pour afficher ses détails, puis choisissez Créer un tunnel sécurisé.Choisissez de créer un nouveau tunnel ou d'ouvrir un tunnel existant. Pour créer un nouveau tunnel, choisissez Create new tunnel. Vous pouvez ensuite choisir d'utiliser la méthode de configuration manuelle ou la méthode de configuration rapide pour créer le tunnel. Pour plus d’informations, consultez Ouvrez un tunnel à l'aide de la configuration manuelle et connectez-vous à un appareil distant et Ouvrez un tunnel et utilisez un navigateur SSH pour accéder à un appareil distant.
Pour créer un tunnel pour un appareil distant à l'aide de API
Pour ouvrir un nouveau tunnel, vous pouvez utiliser l'OpenTunnelAPIopération. Le code suivant montre un exemple d'exécution de cette commande.
aws iotsecuretunneling open-tunnel \ --region
us-east-1
\ --endpoint https://api.us-east-1
.tunneling.iot.amazonaws.com --cli-input-jsonfile://input.json
L'exemple suivant affiche le contenu du fichier input.json
. Vous pouvez utiliser le destinationConfig
paramètre pour spécifier le nom de l'appareil de destination (par exemple,
) et le service que vous souhaitez utiliser pour accéder à l'appareil de destination, par exempleRemoteDevice1
. En option, vous pouvez également spécifier des paramètres supplémentaires tels que la description du tunnel et les balises.SSH
Contenu de input.json
{ "description": "
Tunnel to remote device1
", "destinationConfig": { "services": [ "SSH
" ], "thingName": "RemoteDevice1
" } }
L'exécution de cette commande crée un nouveau tunnel et vous fournit les jetons d'accès à la source et à la destination.
{ "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>
" }
Ouvrez un tunnel existant et utilisez-le via un navigateur SSH
Supposons que vous ayez créé le tunnel pour votre appareil distant RemoteDevice1
en utilisant la méthode de configuration manuelle ou en utilisant la AWS IoT API référenceAPI. Vous pouvez ensuite ouvrir le tunnel existant pour l'appareil et choisir Configuration rapide pour utiliser la fonctionnalité basée sur un navigateurSSH. Les configurations d'un tunnel existant ne peuvent pas être modifiées, vous ne pouvez donc pas utiliser la méthode de configuration manuelle.
Pour utiliser la SSH fonctionnalité basée sur un navigateur, vous n'avez pas besoin de télécharger le jeton d'accès à la source ni de configurer le proxy local. Un proxy local basé sur le Web sera automatiquement configuré pour vous afin que vous puissiez commencer à interagir avec votre appareil distant.
Pour utiliser la méthode de configuration rapide et basée sur le navigateur SSH
Accédez à la page de détails de l'objet que vous avez créé
RemoteDevice1
, puis créez un tunnel sécurisé.Choisissez Utiliser un tunnel existant pour ouvrir le tunnel ouvert le plus récent que vous avez créé pour le périphérique distant. Les configurations du tunnel ne peuvent pas être modifiées, vous ne pouvez donc pas utiliser la méthode de configuration manuelle pour le tunnel. Pour utiliser la méthode de configuration rapide, choisissez Configuration rapide.
-
Passez en revue et confirmez les détails de configuration du tunnel et créez le tunnel. Les configurations des tunnels ne peuvent pas être modifiées.
Lorsque vous créez le tunnel, le tunneling sécurisé utilise l'RotateTunnelAccessTokenAPIopération pour révoquer les jetons d'accès d'origine et générer de nouveaux jetons d'accès. Si votre appareil distant l'utiliseMQTT, ces jetons seront automatiquement envoyés à l'appareil distant sur le MQTT sujet auquel il est abonné. Vous pouvez également choisir de télécharger ces jetons manuellement sur votre appareil source.
Après avoir créé le tunnel, vous pouvez utiliser le tunnel basé sur le navigateur SSH pour interagir avec le périphérique distant directement depuis la console à l'aide de l'interface de ligne de commande contextuelle. Pour utiliser cette interface de ligne de commande, choisissez le tunnel correspondant à l'objet que vous avez créé et, dans la page de détails, développez la section Interface de ligne de commande. Comme le proxy local a déjà été configuré pour vous, vous pouvez commencer à saisir des commandes pour commencer rapidement à accéder à votre appareil distant et à interagir avec celui-ci, RemoteDevice1
.
Pour plus d'informations sur la méthode de configuration rapide et l'utilisation de la méthode basée sur un navigateurSSH, consultez. Ouvrez un tunnel et utilisez un navigateur SSH pour accéder à un appareil distant
Nettoyage
-
Fermer Tunnel
Nous vous recommandons de fermer le tunnel une fois que vous avez fini de l'utiliser. Un tunnel peut également être fermé s'il est resté ouvert plus longtemps que la durée de tunnel spécifiée. Un tunnel ne peut pas être rouvert une fois fermé. Vous pouvez toujours dupliquer un tunnel en ouvrant le tunnel fermé, puis en choisissant Dupliquer le tunnel. Spécifiez la durée du tunnel que vous souhaitez utiliser, puis créez le nouveau tunnel.
-
Pour fermer un tunnel individuel ou plusieurs tunnels depuis la AWS IoT console, accédez au hub Tunnels
, choisissez les tunnels que vous souhaitez fermer, puis cliquez sur Fermer le tunnel. -
Pour fermer un tunnel individuel ou plusieurs tunnels à l'aide de la AWS IoT API référenceAPI, utilisez l'CloseTunnelAPIopération.
aws iotsecuretunneling close-tunnel \ --tunnel-id "01234567-89ab-0123-4c56-789a01234bcd"
-
-
Supprimer le tunnel
Vous pouvez supprimer définitivement un tunnel de votre Compte AWS.
Avertissement
Les actions de suppression sont permanentes et ne peuvent être annulées.
-
Pour supprimer un ou plusieurs tunnels de la AWS IoT console, accédez au hub Tunnels
, choisissez les tunnels que vous souhaitez supprimer, puis sélectionnez Supprimer le tunnel. -
Pour supprimer un tunnel individuel ou plusieurs tunnels à l'aide de la AWS IoT API référenceAPI, utilisez l'CloseTunnelAPIopération. Lorsque vous utilisez leAPI, réglez le
delete
drapeau surtrue
.aws iotsecuretunneling close-tunnel \ --tunnel-id "01234567-89ab-0123-4c56-789a01234bcd" --delete true
-