EQVPS

วิธีตั้งค่าการยืนยันตัวตนด้วย SSH key บน VPS

เปลี่ยนจากการล็อกอินด้วยรหัสผ่านมาใช้คู่กุญแจ SSH: สร้างกุญแจ คัดลอกกุญแจสาธารณะไปยังเซิร์ฟเวอร์ ทดสอบให้แน่ใจ แล้วปิดการล็อกอินด้วยรหัสผ่าน นี่คือมาตรการด้านความปลอดภัยที่คุ้มค่าที่สุดสำหรับ VPS เครื่องใหม่ ทำได้ด้วยคำสั่งเพียงไม่กี่บรรทัด

การล็อกอินด้วยรหัสผ่านคือจุดอ่อนที่สุดของเซิร์ฟเวอร์ใหม่ บอทสแกนอินเทอร์เน็ตและถล่มพอร์ต 22 ด้วยการเดารหัสผ่านตลอดเวลา การเปลี่ยนจากรหัสผ่านมาเป็น คู่กุญแจ SSH จะขจัดพื้นผิวการโจมตีนี้ออกไปทั้งหมด และเป็นสิ่งแรกที่ควรทำบน VPS เครื่องใหม่ทุกเครื่อง นี่คือขั้นตอนทั้งหมดด้วยคำสั่งเพียงไม่กี่บรรทัด

SSH key ทำงานอย่างไร

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

1. สร้างคู่กุญแจ (บนคอมพิวเตอร์ของคุณเอง)

ssh-keygen -t ed25519 -C "you@example.com"
# กด Enter เพื่อยอมรับพาธเริ่มต้น (~/.ssh/id_ed25519)
# ตั้งรหัสผ่าน (passphrase) เพื่อความปลอดภัยเพิ่มเติม หรือเว้นว่างไว้ก็ได้

ขั้นตอนนี้จะสร้างไฟล์สองไฟล์: ~/.ssh/id_ed25519 (กุญแจส่วนตัว — ห้ามแชร์เด็ดขาด) และ ~/.ssh/id_ed25519.pub (กุญแจสาธารณะ)

2. คัดลอกกุญแจสาธารณะไปยังเซิร์ฟเวอร์

วิธีง่ายที่สุด หากคุณยังล็อกอินด้วยรหัสผ่านได้อยู่:

ssh-copy-id root@YOUR.SERVER.IP

ไม่มี ssh-copy-id ใช่ไหม? ทำด้วยตนเองก็ได้:

cat ~/.ssh/id_ed25519.pub | ssh root@YOUR.SERVER.IP \
  "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

3. ทดสอบกุญแจก่อนเปลี่ยนแปลงสิ่งใด

เปิดเทอร์มินัล ใหม่ แล้วล็อกอิน คุณไม่ควรถูกถามหารหัสผ่านของเซิร์ฟเวอร์:

ssh root@YOUR.SERVER.IP

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

4. ปิดการล็อกอินด้วยรหัสผ่าน

บนเซิร์ฟเวอร์ ให้แก้ไขไฟล์ /etc/ssh/sshd_config:

sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh    # บางดิสโทรใช้ชื่อเซอร์วิสว่า sshd

จากนี้ไปมีเพียงกุญแจของคุณเท่านั้นที่จะเข้าได้ และเสียงรบกวนจากการโจมตี brute-force บนพอร์ต 22 ก็จะสะท้อนกลับออกไปเอง

ข้อควรระวังที่ต้องพูดตรงๆ

ขั้นตอนถัดไป

SSH key คือขั้นตอนแรกของการเสริมความแข็งแกร่งให้เซิร์ฟเวอร์ ควรใช้ร่วมกับไฟร์วอลล์ — ดู วิธีตั้งค่าไฟร์วอลล์ UFW และ วิธีตั้งค่า fail2ban — และทำตาม เช็กลิสต์ความปลอดภัยสำหรับ VPS ใหม่ ให้ครบก่อนที่จะเปิดใช้งานสิ่งใดสู่อินเทอร์เน็ต บน VPS ที่ชำระเงินด้วยคริปโตแบบไม่ต้อง KYC กุญแจ SSH ก็เป็นวิธีที่ทำให้สิทธิ์การเข้าถึงเป็นของคุณอย่างแท้จริง

คำถามที่พบบ่อย

ทำไมต้องใช้ SSH key แทนรหัสผ่าน?

รหัสผ่านสามารถถูกเดาหรือโจมตีแบบ brute-force ได้ บอทจำนวนมากถล่มพอร์ต 22 อยู่ตลอดเวลา คู่กุญแจ SSH นั้นแทบเป็นไปไม่ได้ที่จะเดาถูก และเมื่อคุณปิดการล็อกอินด้วยรหัสผ่านแล้ว ความพยายาม brute-force เหล่านั้นก็จะล้มเหลวไปเอง อีกทั้งยังสะดวกกว่าด้วย เพราะคุณล็อกอินได้โดยไม่ต้องพิมพ์รหัสผ่านทุกครั้ง

กุญแจสาธารณะกับกุญแจส่วนตัวต่างกันอย่างไร?

กุญแจทั้งคู่ถูกสร้างขึ้นพร้อมกัน กุญแจส่วนตัว (id_ed25519) จะอยู่บนคอมพิวเตอร์ของคุณเท่านั้นและไม่ควรแชร์ให้ใคร ส่วนกุญแจสาธารณะ (id_ed25519.pub) จะถูกคัดลอกไปยังเซิร์ฟเวอร์ ใครจะถือกุญแจสาธารณะของคุณก็ได้อย่างปลอดภัย มีเพียงกุญแจส่วนตัวที่ตรงกันเท่านั้นที่ล็อกอินได้ จึงต้องเก็บกุญแจส่วนตัวไว้อย่างระมัดระวัง

ควรสร้างแบบ ed25519 หรือ RSA ดี?

ใช้ ed25519 สำหรับระบบยุคใหม่ทั่วไป เพราะกุญแจสั้นกว่า เร็วกว่า และปลอดภัย ใช้ RSA (อย่างน้อย 4096 บิต) เฉพาะเมื่อจำเป็นต้องเชื่อมต่อกับระบบเก่าที่ไม่รองรับ ed25519 เท่านั้น คำสั่งด้านล่างนี้ใช้ ed25519

ถ้าทำกุญแจส่วนตัวหายจะทำอย่างไร?

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

การปิดการล็อกอินด้วยรหัสผ่านทั้งหมดปลอดภัยหรือไม่?

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

ความคิดเห็น

ยังไม่มีความคิดเห็น เป็นคนแรกสิ

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

ความคิดเห็นจะถูกตรวจสอบก่อนแสดง