การควบคุม Raspberry Pi ผ่าน ssh - mrolarik/simple-iot GitHub Wiki

  • เมื่อติดตั้ง Ubuntu Mate เป็นที่เรียบร้อยจะยังไม่สามารถ ssh เข้าไปเพื่อสั่งให้ Raspberry Pi ทำงานได้ จะต้องติดตั้งโปรแกรม OpenSSH Server เสียก่อน
  • รายละเอียดการติดตั้งสามารถดูได้จากเว็บไซต์: https://help.ubuntu.com/lts/serverguide/openssh-server.html.en

การติดตั้ง OpenSSH Server

  • เชื่อมต่อ Raspberry Pi เข้ากับจอคอมพิวเตอร์ผ่านสาย HDMI
  • เชื่อมต่ออินเทอร์เน็ต เพราะการติดตั้งทุกโปรแกรมจะต้องติดตั้งผ่านระบบอินเทอร์เน็ต
  • เปิดโปรแกรม Terminal หรือใช้คีย์ลัด ctrl+alt+T เพื่อเปิด Terminal
  • พิมพ์คำสั่งต่อไปนี้เพื่อติดตั้งโปรแกรม OpenSSH Server
$ sudo apt-get install openssh-server

openssh-server

  • เมื่อติดตั้งเสร็จเรียบร้อยให้ค้นหา ip address ของ Raspberry Pi โดยพิมพ์คำสั่ง
$ ifconfig
  • เมื่อได้หมายเลข ip address สมมุติได้หมายเลข 10.152.14.1
  • จากนั้นให้พิมพ์คำสั่ง
$ ssh <user>@10.152.14.1
  • โดย ให้เปลี่ยนตาม user ที่ใช้ในการ login เข้า Raspberry Pi
  • จากนั้นระบบจะให้กรอกรหัสผ่าน (password) หากผ่านก็จะสามารถเข้าสู่ระบบของ Raspberry Pi ได้
  • เมื่อ Login เข้าระบบได้ จะปรากฎหน้าจอดังตัวอย่างต่อไปนี้

ssh-raspberry-pi

  • จากตัวอย่างข้างต้น user ที่ใช้ Login คือ cocobot

แก้ไขปัญหาในกรณีที่เกิด error

connection refused

ssh: connect to host x.x.x.x port 22: connection refused
  • อาจเนื่องจาก host ยังมีสถานะเป็น stop คือยังไม่ได้เปิดให้ทำงาน
  • สามารถแก้ไขปัญหาได้โดย ตรวจสอบสถานะของ host (เปิด Terminal ที่เครื่อง Raspberry Pi)
$ sudo service ssh status
  • หากสถานะเป็น stop สามารถใช้คำสั่งต่อไปนี้เพื่อเปิดให้ ssh ทำงาน
$ sudo service ssh start

ที่มา : https://ubuntuforums.org/showthread.php?t=2203457
https://www.cyberciti.biz/faq/howto-restart-ssh/

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
51:82:00:1c:7e:6f:ac:ac:de:f1:53:08:1c:7d:55:68.
Please contact your system administrator.
Add correct host key in /Users/isaacalves/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/isaacalves/.ssh/known_hosts:12
RSA host key for 104.131.16.158 has changed and you have requested strict checking.
Host key verification failed.
  • สาเหตุเนื่องจากคีย์ที่ใช้ในการ ssh เกิดความผิดพลาด ดังนั้นจึงจะต้องลบคีย์เดิมทิ้งไปก่อน
  • สามารถแก้ไขปัญหาโดยเปิด Terminal ที่เครื่องที่ใช้ connect และพิมพ์คำสั่งดังต่อไปนี้
ssh-keygen -R "you server hostname or ip"

ที่มา : https://www.digitalocean.com/community/questions/warning-remote-host-identification-has-changed

⚠️ **GitHub.com Fallback** ⚠️