วิธีเปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัย (2FA) สำหรับ SSH บน Linux
ในบทความนี้ เราจะแสดงวิธีเปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัย (2FA) สำหรับการเข้าสู่ระบบ SSH บน Linux โดยใช้ Google PAM (Pluggable Authentication Module) และ Microsoft Authenticator แอปบนอุปกรณ์เคลื่อนที่ . 2FA ช่วยให้คุณเพิ่มชั้นความปลอดภัยพิเศษเมื่อคุณรับรองความถูกต้องบนโฮสต์ Linux ผ่าน SSH หลังจากเปิดใช้งาน 2FA คุณจะต้องป้อนรหัสผ่านดิจิทัลแบบใช้ครั้งเดียว (TOTP) จากสมาร์ทโฟนของคุณ นอกเหนือจากชื่อผู้ใช้และรหัสผ่านของคุณ (หรือคีย์ RSA) ไปยัง SSH ใน Linux
ติดตั้งแอปมือถือ Microsoft Authenticator บนสมาร์ทโฟนของคุณ (มีให้บริการทั้งใน Google Store และ App Store)
ในคำแนะนำนี้ ฉันได้เลือก Microsoft Authenticator เนื่องจากฉันใช้ Microsoft Authenticator อยู่แล้วสำหรับการรับรองความถูกต้อง MFA ใน Azure หากต้องการ คุณสามารถใช้ Google Authenticator แทนได้
ตอนนี้คุณต้องติดตั้งและกำหนดค่า Google PAM บนโฮสต์ Linux ของคุณ:
เชื่อมต่อกับโฮสต์ Linux ของคุณผ่าน SSH;
-
ติดตั้ง Google PAM Authenticator โดยใช้ตัวจัดการแพ็คเกจของคุณ:
Debian/Ubuntu:sudo apt-get install libpam-google-authenticatorRHEL/CentOS/Fedora:
yum install google-authenticator เรียกใช้คำสั่ง:
google-authenticatorเครื่องมือจะสร้างและแสดงรหัส QR ในคอนโซล:
เรียกใช้แอป Microsoft Authenticator บนสมาร์ทโฟนของคุณ เลือก เพิ่มบัญชี -> บัญชีส่วนตัว -> สแกน QR Code;
สแกนรหัส QR ด้วยแอพ รายการใหม่สำหรับชื่อผู้ใช้และเซิร์ฟเวอร์ของคุณจะปรากฏในแอพ Authenticator คุณจะใช้รายการนี้เพื่อรับรหัสผ่านครั้งเดียวเพื่อเชื่อมต่อกับโฮสต์ของคุณ
โปรดทราบว่ารหัสลับและรหัสฉุกเฉินจะแสดงในคอนโซล Linux ของคุณ
คุณจะต้องใช้รหัสเหล่านี้เพื่อเชื่อมต่อกับโฮสต์ของคุณหากคุณทำสมาร์ทโฟนหาย/พัง เก็บไว้ในที่ปลอดภัย!
จากนั้น google-authenticator จะแสดงคำถามอื่น:
คุณต้องการให้โทเค็นการรับรองความถูกต้องตามเวลาหรือไม่
Y -> Enterคุณต้องการให้ฉันอัปเดตไฟล์ “/home/sysops/.google_authenticator ” ไหม
Y -> Enterคุณต้องการไม่อนุญาตให้ใช้โทเค็นการตรวจสอบสิทธิ์เดียวกันหลายครั้งหรือไม่
Y -> Enterโดยค่าเริ่มต้น โทเค็นจะใช้งานได้ 30 วินาที…
Y -> Enterตามค่าเริ่มต้น โทเค็นแบบใช้ครั้งเดียวจะเปลี่ยนทุกๆ 30 วินาที นี่เป็นตัวเลือกที่ดีที่สุดสำหรับกรณีส่วนใหญ่ อย่างไรก็ตาม สิ่งสำคัญคือโฮสต์ Linux และสมาร์ทโฟนของคุณต้องซิงโครไนซ์เวลา
คุณต้องการเปิดใช้งานการจำกัดอัตราหรือไม่
Y -> Enterคุณสามารถกำหนดค่าการตั้งค่าทั้งหมด: $ google-authenticator -t -f -d -w 3 -e 5 -r 3 -R 30-t - เปิดใช้งานการเข้าสู่ระบบโดยใช้รหัสแบบใช้ครั้งเดียว
-f - บันทึกการกำหนดค่าไปที่ ~/.google_authenticator
-d - ปฏิเสธการใช้รหัสก่อนหน้า
-w 3 - อนุญาตให้ใช้โทเค็นก่อนหน้าหนึ่งรายการและโทเค็นที่ตามมาหนึ่งรายการ (หากเวลาไม่ตรงกัน)
-e 5 - สร้างรหัสฉุกเฉิน 5 รหัส
-r 3 -R 30 - อนุญาตให้ใช้การเข้าสู่ระบบไม่เกิน 3 ครั้งทุกๆ 30 วินาที







