"Incompatible ssh peer" when launching a remote node
I want to launch a node on a remote embedded system from my PC. My PC happens to run ROS indigo and the embedded platform runs ROS Kinetic. I made a launch file to run remote node.
<launch>
<machine name = "tegra-ubuntu" address="101.134.21.165" user="ubuntu" env-loader="/opt/ros/kinetic/env.sh"/>
<node machine="tegra-ubuntu" name="ego_motion" pkg="ego_motion" type="odom_listener_node"/>
</launch>
When I do a ros launch from the host system to this remote system I get the following error
deepak@sword:~/workspace/ROS_Workspace/iruVizhi_v1/src/remote/launch$ roslaunch remote remote.launch
... logging to /home/deepak/.ros/log/ff8de646-c4e3-11e6-a1a7-ac7ba196454c/roslaunch-sword-18118.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://101.134.21.160:38258/
remote[101.134.21.165-0] starting roslaunch
remote[101.134.21.165-0]: creating ssh connection to 101.134.21.165:22, user[ubuntu]
remote[101.134.21.165-0]: failed to launch on tegra-ubuntu:
Unable to establish ssh connection to [ubuntu@101.134.21.165:22]: Incompatible ssh peer (no acceptable kex algorithm)
[101.134.21.165-0] killing on exit
unable to start remote roslaunch child: 101.134.21.165-0
The traceback for the exception was written to the log file
I get this "Incompatible ssh peer (no acceptable kex algorithm)" error. Is there a fix for this problem? Is it because I use ROS Indigo and Kinetic on these machines?
This isn't really related to ROS. I did a quick google search, and the results seem to suggest that it happens because the python SSH library (paramiko) in Ubuntu 14.04 (since you're using Indigo I'm guessing you have Ubuntu 14.04) can't connect to newer SSH servers (Ubuntu 15.10 and newer)
Yes, what @ahendrix writes is most likely the cause here. I seem to remember having seen (multiple) questions about this already here on ROS Answers, but can't find them again. Until someone updates/upgrades the SSH library used by
roslaunch
, this is going to stay a problem.Thanks for the comment. Yes, you were right. The PC was running 14.04 and the embedded device was running 16.04.