Garantir la sécurité sur toutes les machines
Objectif : Faire en sorte que deux machines différentes communiquent en toute sécurité.
Niveau du didacticiel : Avancé
Durée : 5 minutes
Arrière-plan
Les tutoriels précédents ont utilisé deux nœuds ROS sur la même machine envoyant toutes les communications réseau via l’interface localhost. Étendons ce scénario pour impliquer plusieurs machines, car les avantages de l’authentification et du chiffrement deviennent alors plus évidents.
Supposons que la machine avec le keystore créé dans la démo précédente ait un nom d’hôte Alice
, et que nous voulions également utiliser une autre machine avec le nom d’hôte Bob
pour notre démo multi-machine talker/listener
. Nous devons déplacer certaines clés de Alice
à Bob
pour permettre à SROS 2 d’authentifier et de crypter les transmissions.
Créer le deuxième magasin de clés
Commencez par créer un keystore vide sur Bob
; le keystore n’est en fait qu’un répertoire vide :
ssh Bob
mkdir ~/sros2_demo
exit
ssh Bob
mkdir ~/sros2_demo
exit
ssh Bob
md C:\dev\ros2\sros2_demo
exit
Copier des fichiers
Copiez ensuite les clés et les certificats du programme talker
de Alice
à Bob
. Comme les clés ne sont que des fichiers texte, nous pouvons utiliser scp
pour les copier.
cd ~/sros2_demo/demo_keystore
scp -r talker USERNAME@Bob:~/sros2_demo/demo_keystore
cd ~/sros2_demo/demo_keystore
scp -r talker USERNAME@Bob:~/sros2_demo/demo_keystore
cd C:\dev\ros2\sros2_demo\demo_keystore
scp -r talker USERNAME@Bob:/dev/ros2/sros2_demo/demo_keystore
Ce sera très rapide, car il ne s’agit que de copier de très petits fichiers texte. Maintenant, nous sommes prêts à exécuter une démo de locuteur/auditeur multi-machine !
Lancer les nœuds
Une fois l’environnement configuré, lancez le talker sur Bob
:
ros2 run demo_nodes_cpp talker --ros-args --enclave /talker_listener/talker
et lancez l’écouteur sur Alice
:
ros2 run demo_nodes_py listener --ros-args --enclave /talker_listener/listener
Alice va maintenant recevoir des messages cryptés de Bob.
Avec deux machines communiquant avec succès en utilisant à la fois le cryptage et l’authentification, vous pouvez utiliser la même procédure pour ajouter plus de machines à votre graphique ROS.