
Login Keys ใน DirectAdmin ช่วยให้ล็อกอินได้โดยไม่ต้องใช้ Username/Password ผ่าน URL พิเศษ เหมาะสำหรับ Developer ที่ต้องการสร้าง Auto-Login จากระบบอื่น
วิธีสร้าง Login Key
- ล็อกอิน DirectAdmin แล้วไปที่ Advanced Features
- คลิก Login Keys
- คลิก Create Key
- ตั้งชื่อ Key เพื่อจดจำการใช้งาน
- กำหนด IP ที่อนุญาต (แนะนำ) และวันหมดอายุ
- คลิก Create
- คัดลอก URL ที่ได้เก็บไว้ใช้
การใช้งาน Login Key
URL Login Key จะอยู่ในรูปแบบ:
https://yourdomain.com:2222/CMD_LOGIN_KEYS?key=XXXXXXXX&action=login
เปิด URL นี้ในเบราว์เซอร์จะเข้า DirectAdmin ได้ทันทีโดยไม่ต้องกรอกรหัสผ่าน
Login Keys คืออะไรและแตกต่างจาก Password อย่างไร
Login Key คือโทเค็นยืนยันตัวตนแบบ API Key-based ที่ DirectAdmin สร้างขึ้นให้ใช้แทนรหัสผ่าน แทนที่จะส่ง Username และ Password ผ่านฟอร์ม ระบบจะใช้ URL พิเศษที่มีโทเค็นฝังอยู่ เมื่อเปิด URL นั้นในเบราว์เซอร์หรือส่ง HTTP Request ไปยัง Server DirectAdmin จะตรวจสอบโทเค็นและอนุญาตให้เข้าใช้งานได้ทันที
ความแตกต่างหลักจาก Password คือ Login Key ไม่เปิดเผยรหัสผ่านจริงของบัญชีเลย แม้ Key จะหลุดออกไปก็ไม่ทำให้ผู้ไม่ประสงค์ดีรู้รหัสผ่าน และสามารถ Revoke Key ออกได้ทันทีโดยไม่ต้องเปลี่ยน Password นอกจากนี้ยังกำหนด IP ที่อนุญาตได้ ทำให้แม้ URL หลุดก็ยังใช้งานไม่ได้หากไม่มาจาก IP ที่ถูกต้อง
- ไม่เปิดเผย Password จริง — ผู้ถือ Key ไม่สามารถดูหรือ Decode รหัสผ่านหลักได้
- Revoke ได้ทันที — ลบ Key ทิ้งโดยไม่กระทบ Key อื่น หรือการล็อกอินปกติ
- จำกัด IP ได้ — Key จะใช้งานได้เฉพาะจาก IP ที่ระบุไว้เท่านั้น
- กำหนดวันหมดอายุ — Key จะหยุดทำงานอัตโนมัติเมื่อถึงวันที่กำหนด
- เหมาะกับระบบอัตโนมัติ — Script, Monitoring Tool และ CI/CD Pipeline ไม่ต้องเก็บ Password จริง
การสร้าง Login Key สำหรับ Admin และ Reseller
DirectAdmin รองรับการสร้าง Login Key ในหลายระดับสิทธิ์ ทั้ง Admin Level (เข้าถึงทุก Account บนเซิร์ฟเวอร์), Reseller Level (จัดการ User ภายใต้ Reseller), และ User Level (เฉพาะ Account ของตัวเอง) โดยสิทธิ์ของ Key จะขึ้นอยู่กับระดับของบัญชีที่สร้าง Key นั้น
ชนิดของ Login Key และสิทธิ์
- Full Access Key — มีสิทธิ์เทียบเท่าบัญชีหลัก สามารถทำทุกอย่างได้ ควรตั้งวันหมดอายุและจำกัด IP เสมอ
- API-Only Key — ใช้ได้กับ DirectAdmin API Endpoint เท่านั้น ไม่สามารถล็อกอินผ่านหน้าเว็บปกติได้ เหมาะสำหรับ Script อัตโนมัติ
- Read-Only Key — ดูข้อมูลได้อย่างเดียว ไม่สามารถแก้ไขหรือลบได้ เหมาะสำหรับ Monitoring Tool
การตั้งค่าวันหมดอายุ (Expiry)
แนะนำให้ตั้งวันหมดอายุทุกครั้ง โดยเฉพาะ Key ที่ให้แก่บุคคลภายนอก เช่น Developer หรือทีม Support ชั่วคราว เมื่อถึงวันหมดอายุ Key จะถูกยกเลิกอัตโนมัติโดยไม่ต้องดำเนินการใดๆ เพิ่มเติม Key ที่ไม่มีวันหมดอายุควรตรวจสอบและ Rotate เป็นระยะเพื่อลดความเสี่ยง
การใช้ Login Key กับ DirectAdmin API
Login Key มีประโยชน์มากที่สุดเมื่อใช้กับ DirectAdmin API สำหรับงาน Automation ต่างๆ เช่น การสร้าง Subdomain อัตโนมัติ การตรวจสอบสถานะ Account หรือการ Deploy เว็บไซต์ผ่าน Script เพียงแนบ Key ไปกับ HTTP Request ก็สามารถควบคุม DirectAdmin ได้โดยไม่ต้องกรอกรหัสผ่าน
ตัวอย่าง cURL พื้นฐาน
วิธีง่ายที่สุดในการใช้ Login Key กับ API คือใส่ Key ใน HTTP Header หรือใส่ใน URL Query String ดังตัวอย่าง:
- ผ่าน URL:
https://yourdomain.com:2222/CMD_API_SHOW_DOMAINS?key=YOUR_KEY - ผ่าน cURL:
curl -s "https://yourdomain.com:2222/CMD_API_SHOW_DOMAINS" -u "username:KEY" - ดึงรายการ Email:
curl -s "https://yourdomain.com:2222/CMD_API_POP?action=list&domain=example.com" -u "user:KEY" - สร้าง Subdomain:
curl -s -d "action=create&domain=sub.example.com" "https://yourdomain.com:2222/CMD_API_SUBDOMAIN" -u "user:KEY"
ข้อดีของการใช้ Key ผ่าน cURL คือสามารถฝังใน Shell Script, Python Script หรือ Deployment Pipeline ได้อย่างปลอดภัย เพราะแม้ Script หลุดออกไป Key ก็ยังสามารถ Revoke ได้ทันทีโดยไม่ต้องเปลี่ยน Password หลักของบัญชี
การ Revoke Login Key เมื่อสงสัยว่าถูก Compromise
หากสังเกตเห็นพฤติกรรมผิดปกติ เช่น มีการเข้าถึง API จาก IP ที่ไม่รู้จัก หรือได้รับแจ้งว่า Login Key หลุดออกไปในรายงาน Git Repository สาธารณะ ควรดำเนินการทันที เพราะ Login Key ที่ถูก Compromise เสี่ยงเปิดช่องให้ผู้ไม่ประสงค์ดีเข้าถึงข้อมูลและไฟล์บนเซิร์ฟเวอร์
ขั้นตอนรับมือฉุกเฉิน
- ล็อกอิน DirectAdmin ทันทีด้วย Username และ Password หลักของบัญชี
- ไปที่ Advanced Features > Login Keys
- ลบ Key ที่สงสัยออกทันทีโดยกด Delete — Key จะถูกยกเลิกทันที URL เดิมใช้งานไม่ได้อีก
- ตรวจ Access Log ของเว็บไซต์และ DirectAdmin เพื่อดูว่ามีการกระทำใดที่ไม่ได้รับอนุญาต
- เปลี่ยน Password หลักของบัญชีเพื่อความมั่นใจ แม้ Login Key จะไม่เปิดเผย Password ก็ตาม
- สร้าง Login Key ใหม่พร้อมตั้ง IP Allowlist ให้รัดกุมกว่าเดิม
การตอบสนองต่อ Incident อย่างรวดเร็วเป็นสิ่งสำคัญ ยิ่ง Revoke Key เร็วเท่าไร ก็ยิ่งลดโอกาสที่ผู้ไม่ประสงค์ดีจะใช้ Key นั้นสร้างความเสียหายได้
แนวทางปฏิบัติที่ดีในการจัดการ Login Keys
การบริหารจัดการ Login Keys อย่างมีระบบช่วยลดความเสี่ยงด้านความปลอดภัยได้อย่างมาก ควรทบทวน Key ที่มีอยู่ทั้งหมดเป็นระยะ ลบ Key ที่ไม่ได้ใช้งานแล้วออก และ Rotate Key ที่ใช้งานอยู่ทุก 3-6 เดือน
- ตั้งชื่อ Key ให้ชัดเจน เช่น "Monitoring-2026-Q1" หรือ "Backup-Script-Prod" เพื่อให้รู้ว่า Key ไหนใช้กับระบบอะไร
- จำกัด IP เสมอ — หากระบบที่ใช้ Key มี Static IP ควรตั้ง IP Allowlist ทุกครั้ง
- ตั้งวันหมดอายุ โดยเฉพาะ Key ที่ให้ผู้อื่นใช้ชั่วคราว
- ไม่เก็บ Key URL ใน Version Control เช่น Git Repository สาธารณะ ควรใช้ Environment Variable แทน
- ตรวจ Access Log เป็นระยะเพื่อตรวจหาพฤติกรรมผิดปกติ
Security Best Practices สำหรับ Login Keys
นอกจากการตั้งค่าพื้นฐานแล้ว มีแนวทางด้านความปลอดภัยเพิ่มเติมที่ควรนำไปปฏิบัติจริงเพื่อให้ Login Keys ทำงานได้ปลอดภัยสูงสุดในระยะยาว การมองข้ามขั้นตอนเหล่านี้อาจเปิดช่องให้เกิดการเข้าถึงโดยไม่ได้รับอนุญาตได้แม้ว่าจะใช้ Key แทน Password แล้วก็ตาม
Rotate Keys เป็นประจำ
แนะนำให้ Rotate (สร้าง Key ใหม่แทนของเดิม) ทุก 3 ถึง 6 เดือนสำหรับ Key ที่ใช้งานต่อเนื่อง โดยเฉพาะ Key ที่ให้สิทธิ์ระดับ Full Access ขั้นตอนง่าย ๆ คือ สร้าง Key ใหม่ก่อน จากนั้นอัปเดต Script หรือ Config ให้ใช้ Key ใหม่ แล้วจึงลบ Key เก่าออก ทำให้มั่นใจว่าไม่มีดาวน์ไทม์ในการเปลี่ยน
ตั้ง IP Restriction ทุกครั้ง
แม้ระบบที่ใช้ Key จะเป็นระบบภายในที่เชื่อถือได้ ก็ควรตั้ง IP Allowlist เสมอ IP ของ Server หรือ Cloud Function ที่รัน Automation Script จะไม่เปลี่ยนบ่อย การตั้ง Allowlist จึงมีต้นทุนต่ำมากแต่ได้ผลลัพธ์ด้านความปลอดภัยสูง เพราะแม้ Key หลุดไปก็ใช้งานไม่ได้จาก IP อื่น
Audit การใช้งาน Key สม่ำเสมอ
ตรวจสอบ Access Log ของ DirectAdmin เป็นประจำเพื่อดูว่า Key แต่ละตัวถูกใช้งานจาก IP ไหน ในเวลาไหน และเรียก Endpoint ใดบ้าง ถ้าพบ Pattern ผิดปกติ เช่น มีการเรียก API ในเวลากลางดึกที่ไม่ใช่เวลาทำงานของ Automation Script ควรตรวจสอบทันที การ Audit สม่ำเสมอช่วยตรวจจับปัญหาได้ก่อนที่จะกลายเป็นความเสียหายจริง
Revoke ทันทีเมื่อมีเหตุสงสัย
ไม่ควรรอให้มีหลักฐานชัดเจนก่อนจะ Revoke Key ที่สงสัย ถ้าพบว่า Key URL ถูก Commit เข้า Git Repository สาธารณะโดยบังเอิญ หรือพบว่ามี Third Party ที่ไม่ควรมีสิทธิ์เข้าถึง Key ได้เห็น URL ควร Revoke Key นั้นทันทีก่อน แล้วค่อยสืบสวนว่าเกิดอะไรขึ้น ความรวดเร็วในการตอบสนองคือกุญแจสำคัญในการจำกัดความเสียหายจาก Incident ด้านความปลอดภัย
- สร้าง Key ใหม่แทน Key เดิมทุก 3-6 เดือน — ลด Window of Exposure ของ Key ที่อาจหลุดออกไปโดยไม่รู้ตัว
- ตั้ง IP Restriction ทุก Key โดยไม่มีข้อยกเว้น — แม้จะเป็น Development Environment ก็ควรตั้ง IP ของเครื่อง Dev ไว้
- ตรวจ Access Log เดือนละครั้ง — จดบันทึก IP และ Endpoint ที่ใช้งานตามปกติ เพื่อสังเกตความผิดปกติได้ง่าย
- Revoke ก่อน สืบสวนทีหลัง — เวลาสงสัยว่า Key ถูก Compromise ให้ลบออกก่อนเสมอ ค่าใช้จ่ายคือต้องสร้าง Key ใหม่ ซึ่งถูกกว่าความเสียหายที่อาจเกิดถ้า Key ยังใช้งานได้
ความปลอดภัย: Login Key มีสิทธิ์เหมือนบัญชีหลัก ให้เก็บ URL เป็นความลับ ตั้งวันหมดอายุและจำกัด IP เสมอเพื่อลดความเสี่ยง
ต้องการ Hosting พร้อม DirectAdmin เต็มรูปแบบ?
AsiaGB Hosting รองรับ DirectAdmin ครบทุกฟีเจอร์ ราคาเริ่มต้น 149 บ./เดือน
ดูแพ็กเกจ Hosting