Jul 14, 2018

SSH login แบบไม่ต้องใส่ password ทุกครั้ง

การ login เพื่อไปรันโหนดของ ROS ในเครื่อง remote ที่ติดไปกับตัวหุ่นยนต์ เช่น Raspberry Pi หรือ Mini PC หรือ Netbook ก็ตาม เราต้อง ssh กันบ่อยๆ ถ้าต้องใส่ password ทุกครั้งก็เสียเวลา ในเวบนี้มีวิธีแก้ปัญหานี้ สมมุติว่าที่เครื่อง local คอมพิวเตอร์ของเราชื่อ A โดย username คือ a ส่วน remote คอมพิวเตอร์ที่ติดไปกับตัวหุ่นยนต์ชื่อ B โดย username คือ b

1. สร้างคีย์ที่เครื่อง local
a@A:~> ssh-keygen -t rsa

2. คัดลอกคีย์ไปที่เครื่อง remote
a@A:~> ssh b@B mkdir -p .ssh
a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'

3. login เครื่อง remote ด้วยคำสั่ง
a@A:~> ssh b@B

ถ้าไม่ได้ผล อาจจะขึ้นอยู่กับเวอร์ชั่นของ SSH ด้วย ในบางระบบอาจจะต้องแก้ไข คือ

  • เพิ่มคีย์ใน .ssh/authorized_keys2 แทน
  • เปลี่ยนโหมด .ssh เป็น 700
  • เปลื่ยนโหมด .ssh/authorized_keys2 เป็น 640


No comments:

Post a Comment