คู่มือการตั้งค่า SSH Key (ed25519) สำหรับ Raspberry Pi 5

การสร้าง SSH Key บน Windows

การใช้คีย์แบบ ed25519 เป็นมาตรฐานใหม่ที่มีความปลอดภัยสูงกว่าและทำงานได้เร็วกว่า RSA แบบเก่า

เปิด Windows PowerShell

  1. คลิกที่เมนู Start บน Windows
  2. พิมพ์ค้นหาคำว่า PowerShell แล้วคลิกเปิดโปรแกรมขึ้นมา

รันคำสั่งสร้าง Key

  1. คัดลอกคำสั่งด้านล่างนี้ไปวางใน PowerShell แล้วกด Enter:
    ssh-keygen -t ed25519 -C "windows-to-pi5"
  2. ระบบจะถามตำแหน่งที่จะบันทึกไฟล์ (Enter file in which to save the key...) ให้ กด Enter ผ่านได้เลยเพื่อใช้ค่าเริ่มต้น
  3. ระบบจะถามรหัสผ่าน (Enter passphrase) หากไม่ต้องการใส่รหัสผ่านเวลาล็อกอิน ให้ กด Enter 2 ครั้ง ผ่านไปได้เลย
ไฟล์คีย์ของคุณจะถูกสร้างไว้ที่:
- Private Key (ห้ามให้ใครรู้): C:\Users\ชื่อยูสเซอร์\.ssh\id_ed25519
- Public Key (สำหรับเอาไปวางบน Pi): C:\Users\ชื่อยูสเซอร์\.ssh\id_ed25519.pub

การนำ Public Key ไปไว้บน Pi5

เราต้องส่งไฟล์ Public Key (กุญแจสาธารณะ) จาก Windows เข้าไปเก็บไว้ในไฟล์ authorized_keys ของ Pi5 เพื่อให้มันรู้จักและอนุญาตให้เครื่อง Windows ของเราล็อกอินได้

คัดลอก Key ผ่าน PowerShell ไปที่ Pi5

ในหน้าจอ PowerShell เดิม ให้พิมพ์คำสั่งด้านล่างนี้ (อย่าลืมเปลี่ยน <IP_ของ_PI5> เป็นหมายเลข IP จริงของคุณ):

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh wasankds@<IP_ของ_PI5> "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh"
  1. ระบบจะถามรหัสผ่านของ Pi5 ให้กรอกรหัสผ่านแล้วกด Enter
  2. เมื่อรันคำสั่งเสร็จสิ้น จะไม่มีข้อความอะไรตอบกลับ (แสดงว่าทำงานสำเร็จแล้ว)

วิธีทางเลือก: นำคีย์ไปวางในไฟล์ authorized_keys ด้วยตัวเอง

หากวิธีใช้คำสั่งผ่านท่อ (Pipe) ด้านบนไม่ทำงาน หรือคุณต้องการจัดการไฟล์ด้วยตัวเอง สามารถใช้วิธีก๊อปปี้และวางแบบแมนนวลได้ดังนี้ครับ

ตำแหน่งของไฟล์เก็บบน Pi5:
ไฟล์จะตั้งอยู่ที่ ~/.ssh/authorized_keys
(พาธเต็มคือ /home/wasankds/.ssh/authorized_keys)
  1. คัดลอกคีย์จากฝั่ง Windows: เปิดไฟล์ C:\Users\ชื่อยูสเซอร์\.ssh\id_ed25519.pub ด้วยโปรแกรม Notepad แล้วคัดลอกข้อความข้างในมาทั้งหมด (ข้อความจะขึ้นต้นด้วย ssh-ed25519...)
  2. ล็อกอินเข้า Pi5: ใช้คำสั่ง SSH และกรอกรหัสผ่านเข้าไปตามปกติ
  3. สร้างโฟลเดอร์ (หากยังไม่มี): พิมพ์คำสั่งเตรียมโฟลเดอร์และเข้าสู่โฟลเดอร์
    mkdir -p ~/.ssh
  4. เปิดแก้ไขไฟล์ authorized_keys: พิมพ์คำสั่งเปิดไฟล์ด้วยโปรแกรม nano
    nano ~/.ssh/authorized_keys
  5. วางคีย์: คลิกขวาที่หน้าจอ Terminal (หรือกด Shift+Insert) เพื่อวางกุญแจที่คัดลอกมาลงไป (หากในไฟล์มีคีย์อื่นอยู่แล้ว ให้ขึ้นบรรทัดใหม่แล้ววางต่อท้ายได้เลย)
  6. บันทึกและออกจาก nano: กด Ctrl + O แล้วกด Enter เพื่อบันทึก จากนั้นกด Ctrl + X เพื่อออก
  7. กำหนดสิทธิ์ไฟล์ให้ถูกต้อง (สำคัญมาก): รันคำสั่ง 2 บรรทัดนี้ เพื่อตั้งค่าความปลอดภัย ป้องกันไม่ให้ระบบ SSH ปฏิเสธการอ่านไฟล์
    chmod 700 ~/.ssh
            chmod 600 ~/.ssh/authorized_keys

ทดสอบการเชื่อมต่อแบบไม่ต้องใช้รหัสผ่าน

ลองเชื่อมต่อเข้า Pi5 อีกครั้งด้วยคำสั่ง SSH ปกติ:

ssh wasankds@<IP_ของ_PI5>
สำเร็จ! หากการตั้งค่าถูกต้อง คุณจะสามารถล็อกอินเข้าสู่ Raspberry Pi 5 ได้ทันทีโดยที่ระบบจะไม่ถามรหัสผ่านอีกต่อไป