VPS: การยืนยันตัวตนสองขั้นตอน SSH
คู่มือนี้ถูกสร้างขึ้นด้วยผลิตภัณฑ์ดังต่อไปนี้:
(รายละเอียดอาจแตกต่างกันไปตามผลิตภัณฑ์จากผู้ให้บริการต่างๆ แต่แนวคิดหลักยังคงเหมือนเดิม)
แนะนำ
บริการยืนยันตัวตนสองขั้นตอน (2FA) ของ Google สำหรับ SSH ที่เรียกว่า Google Authenticator SSH ช่วยเพิ่มความปลอดภัยในการเข้าถึง SSH (Secure Shell) ด้วยการเพิ่มชั้นการยืนยันตัวตนที่สอง แม้ว่า SSH จะเป็นวิธีที่ปลอดภัยในการสร้างการเชื่อมต่อแบบเข้ารหัสไปยังเซิร์ฟเวอร์ระยะไกลอยู่แล้ว แต่การผสานรวม 2FA จะเพิ่มระดับความปลอดภัยโดยให้ผู้ใช้ต้องใส่ไม่เพียงแค่รหัสผ่านเท่านั้น แต่ยังต้องใส่รหัสยืนยันตัวตนแบบใช้ครั้งเดียวที่สร้างโดย Google Authenticator ด้วย ในคู่มือนี้เราจะพาคุณไปดูขั้นตอนการติดตั้งและตั้งค่า Google Authenticator SSH บนเซิร์ฟเวอร์ Linux
การติดตั้ง
อันดับแรกคุณต้องติดตั้ง Google Authenticator บน VPS Linux ของคุณ รันคำสั่งนี้:
sudo apt install libpam-google-authenticator
จากนั้นระบบจะถามให้คุณพิมพ์ "Y" เพื่อยืนยันการติดตั้ง พิมพ์แล้วกด Enter จากนั้น Google Authenticator จะถูกติดตั้ง!
เริ่ม Google Authenticator โดยพิมพ์คำสั่ง 'google-authenticator' ตรวจสอบให้แน่ใจว่าขนาดหน้าต่างของคุณเพียงพอสำหรับแสดง QR Code ถ้าไม่พอให้กด "CTRL+C" แล้วพิมพ์คำสั่งใหม่อีกครั้ง
ระบบจะถามอีกครั้งว่าคุณต้องการดำเนินการต่อหรือไม่ ให้พิมพ์ "Y" เพื่อยอมรับ คุณจะเห็น QR Code เปิดแอป Authenticator บนสมาร์ทโฟนของคุณแล้วสแกน QR Code นี้ สำหรับตัวอย่างนี้เราใช้ Google Authenticator:
อย่าลืมคัดลอกโค้ดสำรองไว้ด้วย โค้ดเหล่านี้ใช้ได้ครั้งละหนึ่งครั้งในกรณีที่คุณทำแอป Authenticator หาย
ตอนนี้แอปจะแสดงโค้ดที่คุณต้องใช้ล็อกอินในภายหลัง ตัวอย่างจะเป็นแบบนี้:
ระบบจะถามคำถามต่อไปนี้:
- คุณต้องการบันทึกการตั้งค่า Google Authenticator หรือไม่?
- คุณต้องการให้ล็อกอินได้แค่ครั้งเดียวทุก 30 วินาทีหรือไม่?
- ต้องการเพิ่มเวลาที่โค้ดใช้งานได้หรือไม่?
- ต้องการจำกัดล็อกอินแค่ 3 ครั้งทุก 30 วินาทีเพื่อป้องกัน Brute Force หรือไม่?
เพื่อความปลอดภัย เราแนะนำให้ตอบ Yes ทุกข้อ
การตั้งค่า
ตอนนี้เราต้องปรับ Google Authenticator ให้ถูกใช้งานจริง ซึ่งต้องแก้ไขสองส่วน
/etc/ssh/sshd_config
เปิดใช้งานโมดูลที่จำเป็นในไฟล์ /etc/ssh/sshd_config
เปิดไฟล์นี้ด้วยคำสั่ง
sudo nano /etc/ssh/sshd_config
คุณจะเข้าสู่โปรแกรมแก้ไขข้อความ ใช้ปุ่มลูกศรเลื่อน เคลียร์ข้อความได้ตามต้องการ แล้วกด 'CTRL + X' ตามด้วย 'Y' และกด 'Enter' เพื่อบันทึกไฟล์
ตรวจสอบให้แน่ใจว่าบรรทัด 'UsePAM' และ 'ChallengeResponseAuthentication' ตั้งค่าเป็น 'yes' แบบนี้:
บันทึกไฟล์ด้วย 'CTRL + X' ตามด้วย 'Y' และกด 'Enter' จากนั้นรีสตาร์ท SSH ด้วยคำสั่งนี้:
sudo systemctl restart ssh
/etc/pam.d/sshd
ตอนนี้เพิ่ม Google Authenticator เข้าไปในขั้นตอนล็อกอินที่ไฟล์ /etc/pam.d/sshd
เปิดไฟล์นี้ด้วยคำสั่ง sudo nano /etc/pam.d/sshd
เลื่อนลงไปท้ายไฟล์แล้วเพิ่มบรรทัดนี้:
auth required pam_google_authenticator.so
บันทึกไฟล์ด้วย 'CTRL + X' ตามด้วย 'Y' และกด 'Enter'
ทดสอบการเข้าถึง
ถึงเวลาล็อกอินครั้งแรกด้วย 2FA แล้ว หลังจากทำตามขั้นตอนข้างต้นเสร็จ ให้รีสตาร์ทการเชื่อมต่อ SSH ของคุณ
ใส่รหัสผ่านตามปกติ จากนั้นระบบจะถามรหัส ให้ใส่โค้ด 2FA ล่าสุดที่แอปของคุณแสดง
เท่านี้ก็ล็อกอินสำเร็จแล้ว!
สรุป
ยินดีด้วย คุณได้เปิดใช้งานและตั้งค่า 2FA สำหรับ SSH เรียบร้อยแล้ว! หากมีคำถามหรือปัญหาเพิ่มเติม ติดต่อทีมซัพพอร์ตของเราได้เลย พร้อมช่วยเหลือคุณทุกวัน!