确保跨机器的安全性
目标: 确保两台不同的机器之间的安全通信。
教程级别: 高级
时间: 5分钟
背景
之前的教程都是在同一台机器上使用两个ROS节点,将所有的网络通信都发送到本地主机接口。现在我们将扩展这个场景,涉及多台机器,因为认证和加密的好处变得更加明显。
假设在上一个演示中创建的密钥库的机器名为 Alice
,我们还想在另一台名为 Bob
的机器上进行多机器的 talker/listener
演示。我们需要将一些密钥从 Alice
移动到 Bob
,以允许 SROS 2 对传输进行身份验证和加密。
创建第二个密钥库
首先在 Bob
上创建一个空的密钥库;实际上,密钥库只是一个空目录:
ssh Bob
mkdir ~/sros2_demo
exit
ssh Bob
mkdir ~/sros2_demo
exit
ssh Bob
md C:\dev\ros2\sros2_demo
exit
复制文件
接下来,从“Alice”复制“talker”程序的密钥和证书到“Bob”。由于密钥只是文本文件,我们可以使用“scp”将它们复制过来。
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
警告
请注意,在这种情况下,整个密钥库在不同的机器之间共享,这可能不是期望的行为,因为这可能会导致安全风险。有关更多信息,请参阅:doc:部署指南。
这将非常快,因为只需复制一些非常小的文本文件。现在,我们已经准备好运行多机器人交谈者/侦听者演示了!