Terminal distant et redirection de port
Ouvrez un shell sur un appareil depuis votre navigateur, ou accédez depuis votre poste de travail à n'importe quel service qui s'y exécute (SSH, une interface web locale, une base de données). La session passe par la connexion sécurisée déjà établie entre l'appareil et Fundamentum : vous n'ouvrez donc aucun port entrant sur l'appareil ni sur son réseau, et cela fonctionne derrière un NAT et des pare-feu.
Avant de commencer
-
L'appareil exécute l'un des composants Edge qui gèrent les tunnels :
- le daemon Linux avec son service de redirection de port activé, ou
- l'agent de redirection de port autonome, pour les appareils qui n'exécutent pas le daemon.
-
L'appareil est connecté. Vérifiez son heartbeat dans le Hub, ou consultez Envoyer la télémétrie, les états et les heartbeats.
-
Pour la redirection de port, la CLI
funest installée et vous êtes connecté :fun login -
Vous disposez de la permission
updatesur les appareils du projet. Consultez Rôles et permissions.
Fonctionnement
your browser or workstation ──▶ Fundamentum ──▶ device's MQTT connection ──▶ Edge ──▶ local port or shell
Les deux fonctionnalités reposent sur la connexion sortante que l'appareil maintient déjà ouverte vers le broker MQTT. Chaque session est authentifiée avec votre identité Fundamentum et vérifiée par rapport à vos permissions.
Ouvrir un terminal distant dans le Hub
- Dans le Hub, ouvrez la page de l'appareil.
- Sélectionnez l'onglet Terminal.
- Choisissez la méthode de connexion edge daemon.
- Saisissez la commande à exécuter, par exemple
/bin/bash, puis connectez-vous.
Un terminal s'ouvre dans le navigateur. La fermeture de l'onglet ou la perte de la connexion met fin à la session : elle ne se reconnecte pas d'elle-même, ouvrez-en donc une nouvelle.
Rediriger un port avec la CLI
fun devices port-forward (alias fun devices pf) associe un port de l'appareil à un port de votre machine :
fun devices port-forward -p <project-id> -r <registry-id> -s <serial-number> -l 2222 -d 22
| Option | Signification |
|---|---|
-p, --project |
ID du projet |
-r, --registry |
ID du registre |
-s, --serial |
Numéro de série de l'appareil : lettres minuscules, chiffres, _ et - |
-l, --local-port |
Port à ouvrir sur votre machine |
-d, --remote-port |
Port sur l'appareil. Un service doit y être à l'écoute, sinon la commande échoue |
--context |
Contexte fun à utiliser, si vous en avez plusieurs |
Toutes les options, sauf --context, sont obligatoires. La commande s'exécute jusqu'à ce que vous appuyiez sur une touche.
Pendant son exécution, utilisez le port local comme si le service se trouvait sur votre machine. Par exemple, pour vous connecter en SSH à l'appareil :
ssh -p 2222 <device-user>@localhost
Ou ouvrez à l'adresse http://localhost:8080 l'interface web locale d'un appareil redirigée avec -l 8080 -d 80.
Utiliser la redirection dans des scripts et en CI
Pour un usage non interactif, authentifiez la CLI avec un jeton de compte de service via des variables d'environnement plutôt qu'avec fun login. Consultez La CLI fun et Rôles et permissions.
Dépannage
| Symptôme | Vérification |
|---|---|
| La commande échoue immédiatement | Un service est à l'écoute sur --remote-port sur l'appareil |
| Aucune connexion à l'appareil | L'appareil est en ligne et son composant Edge a la redirection de port activée |
| Accès refusé | Votre rôle couvre le projet et ses appareils |
Étapes suivantes
- Agent de redirection de port : installer et configurer le côté appareil.
- Transferts de fichiers : déplacer des fichiers sans ouvrir de session.
- Référence de la CLI fun