ข้ามไปเนื้อหาหลัก

วิธีเชื่อมต่อเซิร์ฟเวอร์ระยะไกลผ่าน SSH โดยไม่ต้องพิมพ์รหัสผ่าน

เรียนรู้วิธีตั้งค่า SSH Key Authentication ภายใน 5 นาที เพื่อความปลอดภัยและขจัดความน่าเบื่อในการพิมพ์รหัสผ่านทุกครั้งที่รีโมทเข้าเซิร์ฟเวอร์

เรียบเรียงโดย AI
Inewgen
28 Oct 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
วิธีเชื่อมต่อเซิร์ฟเวอร์ระยะไกลผ่าน SSH โดยไม่ต้องพิมพ์รหัสผ่าน

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • ตั้งค่าเสร็จสิ้นภายใน 5 นาทีผ่านบรรทัดคำสั่ง
  • ใช้กุญแจเข้ารหัส Ed25519 เพื่อความปลอดภัยสูงสุด
  • จัดการเซิร์ฟเวอร์หลายตัวได้ง่ายด้วยไฟล์ Config

ในฐานะวิศวกรระบบปฏิบัติการ การเชื่อมต่อ SSH เข้าสู่เซิร์ฟเวอร์ระยะไกลคือชีวิตประจำวัน ความหงุดหงิดจากการต้องพิมพ์รหัสผ่านบนหน้าจอเทอร์มินัลที่เย็นเยียบตอนตี 3 เป็นเรื่องที่พบได้บ่อยจนกระทั่งได้รู้จักกับการยืนยันตัวตนด้วย SSH Key ซึ่งเปลี่ยนแปลงวิธีการทำงานไปอย่างสิ้นเชิง

บทความนี้จะแสดงวิธีตั้งค่าทั้งหมดภายในเวลาไม่ถึง 5 นาที โดยไม่ต้องใช้เครื่องมือ GUI หรือซอฟต์แวร์ราคาแพง อาศัยเพียงแค่คอมมานด์ไลน์เท่านั้น แม้การยืนยันตัวตนด้วยรหัสผ่านจะยังมีประโยชน์สำหรับสิทธิ์ชั่วคราวหรือเครื่องที่ใช้ร่วมกัน แต่สำหรับงานที่ต้องจัดการเป็นประจำ การใช้คีย์คือคำตอบที่ดีที่สุด

terminal command line interface screen

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขั้นตอนแรกคือการสร้างคู่คีย์ (Key Pair) บนเครื่องของคุณด้วยคำสั่ง ssh-keygen -t ed25519 -C "your_email@example.com" โดยแนะนำให้ใช้ Ed25519 เนื่องจากมีความเร็วและปลอดภัยกว่ามาตรฐาน RSA แบบเก่า ยกเว้นกรณีที่ต้องทำงานร่วมกับระบบเก่าที่ยังไม่รองรับ จึงค่อยเปลี่ยนไปใช้ ssh-keygen -t rsa -b 4096 แทน

การใช้ SSH Key (Asymmetric Cryptography) อาศัยหลักการทางคณิตศาสตร์ของกุญแจคู่สาธารณะและส่วนตัว (Public/Private Key) ซึ่งมีความปลอดภัยสูงกว่าการใช้รหัสผ่านแบบเดิมที่มักจะคาดเดากับดักจับได้ง่ายผ่านการโจมตีแบบ Brute-force นอกจากนี้ยังช่วยลดความเสี่ยงจากการเผลอพิมพ์รหัสผ่านผิดซ้ำๆ บนเซิร์ฟเวอร์สำคัญ

หลังจากได้คีย์มาแล้ว ให้คัดลอกกุญแจสาธารณะไปยังเซิร์ฟเวอร์ปลายทางด้วยคำสั่ง ssh-copy-id username@server_ip ระบบจะขอรหัสผ่านของเซิร์ฟเวอร์เป็นครั้งสุดท้าย หลังจากนั้นคีย์สาธารณะจะถูกผนวกเข้ากับไฟล์ ~/.ssh/authorized_keys บนเครื่องรีโมทโดยอัตโนมัติ

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

เมื่อทดสอบเชื่อมต่อด้วย ssh username@server_ip หากระบบยอมให้เข้าสู่ระบบโดยไม่ต้องถามรหัสผ่าน แสดงว่าการตั้งค่าสำเร็จ แต่หากยังติดขัด ให้ตรวจสอบการตั้งค่าไฟล์ sudo nano /etc/ssh/sshd_config โดยกำหนดให้ PasswordAuthentication no และ PubkeyAuthentication yes จากนั้นรีสตาร์ทบริการด้วยคำสั่ง sudo systemctl restart sshd

5 นาทีเวลาในการตั้งค่า
90 วันรอบระยะเวลาหมุนเวียนคีย์

คำเตือนสำคัญคือ ควรเปิดเซสชันปัจจุบันค้างไว้ในขณะทำการทดสอบ เพื่อให้สามารถแก้ไขข้อผิดพลาดได้ทันทีหากมีสิ่งผิดปกติเกิดขึ้น ป้องกันการถูกล็อกไม่ให้เข้าสู่ระบบของตนเอง

เมื่อโครงสร้างพื้นฐานขยายใหญ่ขึ้นและคุณเริ่มสะสมคีย์จำนวนมาก การจัดการผ่านไฟล์ Config จะช่วยให้ชีวิตง่ายขึ้นมาก โดยสามารถตั้งค่าชื่อโฮสต์ ไอพี ผู้ใช้งาน และไฟล์ไอเดนทิตีแยกตามโปรดักชันหรือสเตจจิ้งได้ จากนั้นจึงเรียกใช้งานผ่านคำสั่งสั้นๆ เช่น ssh production หรือ ssh staging

นอกจากนี้ควรหมุนเวียนคีย์ทุกๆ 90 วันโดยการสร้างคีย์ใหม่ และย้ายคีย์เก่าไปเก็บไว้ในไฟล์ revoked_keys บนเซิร์ฟเวอร์ การตั้งค่า SSH Key ใช้เวลาเพียงน้อยนิดแต่มอบคุณประโยชน์มหาศาลตลอดหลายปีข้างหน้า ไร้ซึ่งความเหนื่อยล้าจากรหัสผ่านและความกังวลเรื่องการโจมตี

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้