ROBOTIS-GIT / emanual

Welcome to the ROBOTIS e-Manual ! The e-Manual page rendered from this repository is available for everyone. Just simply click the provided link below :)
http://emanual.robotis.com/
MIT License
150 stars 173 forks source link

Humble tutorial and SSH #1702

Open haavarpb opened 1 week ago

haavarpb commented 1 week ago

Hello,

I am in the process of setting up several turtlebot3's for educational purposes. We are using ROS2 Humble.

The tutorials assume that you can SSH into the robot knowing its IP. However, you can verify that the Humble tutorial is the first to use a generic Ubuntu Server 22 LTS image instead of the custom image provided in the other distros' tutorials.

This generic ubuntu server image uses cloud-init to set up the SSH server daemon to refuse password authentication. This can be verified by trying to ssh into a fresh ubuntu server instance.

I will try to see how I can change this behaviour myself, but I suggest you update the tutorials either by showing how to ssh into the turtlebot3 or provide a customized ubuntu server image with a cloud-init configuration that suits educational requirements.

The specific error that I get when trying to ssh user@turtlebot_ip is pubkey denied. I found that by modifying /etc/ssh/sshd_config I can uncomment line 57 PasswordAuthentication yes and changing line 62 KbdInteractiveAuthentication yes.

The ssh client was able to connect to the server by (I can't remember the exact, but the point is that you need to specify this in the client)

ssh -o PreferredAuthentication=keyboard-interactive user@turtlebot_ip

I guess the ideal state for such an educational system would be to allow entering the password the first time, and then allowing copying over public ssh keys using something like ssh-copy-id.

Atleast that's what I was thinking. Thoughts?