Thursday, September 20

ติดตั้งและกำหนดค่าการเชื่อมต่อกับ Raspberry Pi ผ่านทาง SSH (Setup SSH and Configure Putty for remote RPi)

top - display Linux processes      ถ้าใครเคยใช้ Linux หรือ UNIX  รุ่นเก่าๆ มาก่อน อาจจะเคยใช้ telnet เพื่อเข้าไปใช้งานที่เครื่องที่โดนเรา remote เข้าไป จะว่าไปเรา ก็เสมือนหนึ่งว่า เราเข้าไปนั่งที่เครื่องนั้น นั่นแหละ เราสามารถที่จะทำอะไรก็ได้ ไม่ว่าจะเป็น การอ่าน การเขียนไฟล์ หรือการลบไฟล์ ใดๆ ก็ได้ตามสิทธิ์ที่เรา login เข้าไป เพียงแค่ว่า เราไม่ได้ไปนั่งอยู่หน้าเครื่องนั้นจริงๆ เราก็นั่งทำงานของเราอยู่ที่นี่ แต่ ทุกอย่างทำอยู่อีก process หนึ่ง ที่ทำงานอยู่เบื้องหลัง เครื่องที่เรารีโมท เข้าไป

แต่ ในเวอร์ชั่นหลังๆ ของ LINUX เค้าได้เปลี่ยนรูปแบบเป็น SSH หรือ Secure Shell แทน เนื่องจากมีความปลอดภัยมากกว่า สามารถป้องกันการสวมสิทธิ์จากผู้ไม่หวังดีได้ แต่ หน้าที่ก็ยังเหมือนเดิม คือ เหมือนกับการ Telnet นั่นแหละ แต่เปลี่ยแปลงทีการ login จะมีกลไกของการเข้ารหัสก่อน ในส่วนตรงนี้ เราไม่จำเป็นต้องสนใจมากเท่าไหร่ เพราะมันเป้นกลไก ของตัว OS เอง

เป็นที่ทราบอยู่แล้วว่า เจ้าบอร์ด Raspberry Pi ของเราไม่ได้มี VGA Port  ต่อมาด้วย เวลาต้องการใช้งานทางด้านแสดงผลหน้าจอ อาจจะต้องหาจอทีวี มาต่อใช้งาน แต่ในระบบปฏิบัติการ LINUX เราสามารถยืมหน้าจอเครื่องอื่น เพื่อทำหน้าที่แสดงผลของบอร์ด Raspberry Pi ด้วยวิธีการ SSH นั่นเอง

สิ่งที่ต้องเตรียมพร้อม คือ

   บอร์ด Raspberry Pi ที่ต่อสายเนตเวิร์ก ที่เชื่อมต่อเข้ากับระบบเนตเวิร์กภายใน(บ้าน) ในที่นี้ ผมจะให้ตัว Access Point (หรือ Router ก็ได้) ของผมทำหน้าที่แจก IP Address ให้กับอุปกรณ์อะไรก็ตามที่เชื่อมต่อเข้ามา รวมทั้งคอมพิวเตอร์โนตบุค ผมด้วย จากนั้นก็หาคีย์บอร์ด และจอทีวี มาต่อเข้ากับบอร์ด แล้วจ่ายไฟให้บอร์ด ทำการบูตตามปกติ

ต่อมาก็เป็นคอมพิวเตอร์โนตบุค ของเราที่ที่ทำการเชื่อมต่อเข้ากับระบบเนตเวิร์กภายใน(บ้าน) เช่นกัน จากนั้นทำการติดตั้งโปรแกรม Putty ซึ่งเราจะเอาไว้ใช้ในการรีโมทผ่าน SSH เพื่อเข้าไปที่บอร์ด Raspberry Pi ดาวน์โหลดโปรแกรม Putty ได้ ที่นี่ แล้วติดตั้งโปรแกรมตามความคุ้นเคย ตรงนี้ ยังไม่มีอะไรมาก Nextๆๆๆ ไปเรื่อยๆ จนติดตั้งสำเร็จ

กลับมาที่บอร์ด Raspberry Pi ของเรา ตอนนี้ สิ่งที่เราต้องรู้ให้ได้ว่า บอร์ด Raspberry Pi ของเรา ได้ IP Address ที่ได้รับมาจาก Access Point (หรือว่า Router ของเพื่อนๆ) ว่าได้ IP Address อะไร เพื่อที่เราจะได้นำค่า IP Address นี้ไปใส่ที่โปรแกรม Putty ของเราต่อไป

ทำการ login ปกติ
Raspberrypi login : pi
Password : raspberry

เมื่อ login สำเร็จแล้ว ให้พิมพ์คำสั่ง ต่อไปนี้

sudo bash แล้วเคาะ Enter
ssh-keygen แล้วเคาะ Enter ตามที่โปรแกรมถาม โดยไม่ต้องพิมพ์อะไร 3 ครั้ง

ทำการเช็คว่าโปรแกรมได้สร้างคีย์ให้หรือยัง โดยพิมพ์คำสั่ง


ls /root/.ssh/


จะเห็นไฟล์ปรากฎอยู่ใน folder นี้
ทำการสั่งให้ SSH service ทำงานด้วยคำสั่ง


sudo /etc/init.d/ssh start

เพื่อให้มั่นใจว่า start สำเร็จให้ทำการเช็คอีกที


sudo /etc/init.d/ssh status

ที่นี้ เราต้องกำหนดให้ SSH ทำงานทุกครั้งที่เราบูตระบบขึ้นมาใหม่
ใช้คำสั่ง

sudo update-rc.d ssh defaults

แล้วจึงทำการรีบูตระบบ 1 ครั้ง ด้วยคำสั่ง

sudo reboot

หลังจาก reboot เรียบร้อยแล้ว ให้ทำการ login อีกครั้ง แล้วทำการเช็ค IP Address ของบอร์ด Raspberry Pi ว่าได้รับไอพีอะไร (ปกติตัว Router หรือ Access point มันจะจ่าย IP เดิมให้กับบอร์ด ) ด้วยคำสั่ง


/sbin/ifconfig หรือคำสั่ง sudo ifconfig

ก็ได้ มองหาที่บรรทัดที่เขียนว่า inet addr : xxx.xxx.x.xxx ซึ่งอาจจะเป็น IP Adress 192.168.2.111 หรืออะไรก็ตามแต่ ขึ้นอยู่กับ Access Point หรือ Router ที่แจกมาให้ ก็ให้นำค่า IP Address นี้ไปกรองที่หน้าต่างโปรแกรม Putty ที่เราได้ติดตั้งไว้แล้วที่โนตบุค หรือ PC ของเรา

ที่หน้าต่างโปรแกรม Putty ที่เมนูด้านขวามือ ที่ Session ให้เราตั้งค่าตามที่เราได้มา จากนั้นกดปุ่ม Save แล้วไปที่เมนู SSH->X11 ติ๊กที่ช่อง Enable X11 forwarding แล้วกลับมาที่ Session ให้กดปุ่ม Save อีกครั้ง

 Configure Putty

Configure Putty

จากนั้นจึงทำการกดปุ่ม Open เพื่อเปิดการเชื่อมต่อ SSH เข้ากับบอร์ด Raspberry Pi

รอสักครู่ ถ้าสำเร็จที่หน้าจอคอมพ์ ของเราจะมีหน้าต่าง Terminal ขึ้นมา ให้เรากรอก login และ ใส่ Password เหมือนตอนที่เราทำกับหน้าจอทีวี ของเรา

เพื่อนๆ จะพบว่า เราก็สามารถที่จะทำงานได้แหละ เพราะทุกอย่างได้มาปรากฏที่หน้าจอคอมพิวเตอร์ของเราแหละ ต่อไปนี้ ก็ไม่ต้อง ง้อ จอทีวีอีกต่อไป

แต่ว่า .... สิ่งที่ปรากฏที่ Terminal นั้นจะอยู่ในรูปของ text mode เท่านั้น พูดง่ายๆก็คือ เราไม่สามารถใช้ terminal ตัวนี้ เข้าไปที่ X-Windows ของเจ้า Raspberry Pi ได้ ซึ่งเป็นข้อจำกัดของโปรแกรม Putty นี้  แต่ถ้าจะเข้าไปใช้งาน X-Windows จริงๆ เราต้องทำเพิ่มเติมอีก เอาไว้ตอนหน้าหล่ะกัน

Rasoberrt Pi SSH by Putty

หากใครทำตามขั้นตอนแล้วไม่สำเร็จ ลองแก้ปัญหาตามนี้ ดูครับ

ให้พิมพ์คำสั่งนี้ เพื่อลบไฟล์ก่อน
sudo rm /etc/ssh/ssh_host_*

แล้วก็ตามด้วย
sudo dpkg-reconfigure openssh-server

ผมเอามาจาก forums ที่เค้าถามกันอยู่ ที่นี่ http://www.raspberrypi.org/phpBB3/viewtopic.php?f=27&t=15814

1 ความคิดเห็น:

Unknown on 20 September 2012 at 11:07 said...

ขอบคุณครับ

 

แจกฟรี พื้นที่ฝากไฟล์ 15 GB

ติดตามข่าวสารผ่าน Twitter

ติดตาม Blog นี้

Blog อื่นๆของฉัน

  • Test AMR Fleet Management program - ระบบบริหารจัดการจราจรและจัดคิวงานของรถ AMR (Autonomous Mobile Robot) ที่พัฒนาโดยบริษัท WP Solution Co., Ltd. จากภาษา C# ทั้งในส่วนของ Backend (Service app...
  • Gearset matching 2021 program - เป็นงานใหญ่ที่เพิ่งจบไป ที่ระยอง ปลวกแดง บริษัทผลิตชิ้นส่วนรถยนต์ คอนเซปต์ คือต้องการเก็บค่าหลังจากการทดสอบชิ้นส่วยรถยนต์ เพื่อเก็บไว้ในฐานข้อมูลให้แผนกถ...
  • Free Screen Capture โปรแกรมบันทึกหน้าจอ ฟรีๆ - หากเพื่อนๆ จะมองหาโปรแกรม ที่ไว้สำหรับบันทึกหน้าจอคอมพิวเตอร์ ไม่ว่าจะบันทึกในรูปของภาพนีิ่ง (Screen shot) หรือแบบบันทึกเป็นภาพเคลื่อนไหว ( screencas...
  • Type-Fu : Typing practice game online - หากใครที่สนใจ หรือจะต้องทำงานเกี่ยวกับคอมพิวเตอร์ หนึ่งในความจำเป็นก็คือ จะต้องเรียนรู้ที่พิมพ์สัมผัสได้ เพราะการที่พิมพ์สัมผ้สได้ มันได้ประโยชน์หลายๆ อย...

Microcontroller Electronics update

สถิติเยี่ยมชมบล๊อก