jsk-ros-pkg / jsk_robot

jsk-ros-pkg/jsk_robot
https://github.com/jsk-ros-pkg/jsk_robot
73 stars 97 forks source link

machine tag の使いかた #1322

Open k-okada opened 3 years ago

k-okada commented 3 years ago

手元のPCでlaunch ファイルを起ち上げつつ,リモート(ロボット)上で実際のノードを立ち上げる事が出来ます. 1) rossetip, rossetmaster fetch1075する 2) SSHの確認

ssh -oHostKeyAlgorithms='ssh-rsa'  <user>@fetch1075.jsk.imi.i.u-tokyo.ac.jp # <user> は適宜書き換えてください

とする.ちなみに,リモート側の~/.ssh/authorized_keysに,ローカル側の~/.ssh/id_rsa.pub が追加されていることを確認(この文章の意味がわからなければ,詳しい人に確認すること)

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
(中略)
Add correct host key in /home/k-okada/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/k-okada/.ssh/known_hosts:226
  remove with:
  ssh-keygen -f "/home/k-okada/.ssh/known_hosts" -R "fetch1075.jsk.imi.i.u-tokyo.ac.jp"
RSA host key for fetch1075.jsk.imi.i.u-tokyo.ac.jp has changed and you have requested strict checking.

みたいに表示されたら,指示に従って,

  ssh-keygen -f "/home/k-okada/.ssh/known_hosts" -R "fetch1075.jsk.imi.i.u-tokyo.ac.jp"

とする.

$ ssh -oHostKeyAlgorithms='ssh-rsa'  fetch@fetch1075.jsk.imi.i.u-tokyo.ac.jp
Warning: the RSA host key for 'fetch1075.jsk.imi.i.u-tokyo.ac.jp' differs from the key for the IP address '133.11.216.145'
Offending key for IP in /home/k-okada/.ssh/known_hosts:226
Matching host key in /home/k-okada/.ssh/known_hosts:227
Are you sure you want to continue connecting (yes/no)? yes
Welcome to Ubuntu 14.04.6 LTS (GNU/Linux 3.19.0-80-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
New release '16.04.7 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Thu Feb  4 21:09:04 2021 from p51s.jsk.imi.i.u-tokyo.ac.jp

となったらOK

3)以下のファイルをrosaunchする

<launch>
  <machine name="localhost" address="localhost" />
  <machine name="fetch" user="fetch"
           address='fetch1075.jsk.imi.i.u-tokyo.ac.jp' env-loader="/opt/ros/indigo/env.sh" />
  <node pkg="rostopic" type="rostopic" name="talker"
        args="pub -r 10 /chatter std_msgs/String 'test'"
        machine="fetch" />
  <node pkg="rostopic" type="rostopic" name="listener"
        args="echo /chatter"
        launch-prefix="xterm -e" />
</launch>

4) 別ターミナルで,rossetip, rossetmaster fetch1075としてrostopic echo /chatterとするとロボットから/chatterが流れてくることを確認できます

@yuli-disney どのファイルをどの順番で起ち上げたか,忘れる時は.全ての手順を1つのlaunchファイルにまとめると良いです.

c.f.

yulingo-ringo commented 3 years ago

ありがとうございます!今度行った時に確かめてみます。