วิธีลงชื่อเข้าใช้เดสก์ทอป Linux ของคุณด้วย Google Authenticator
เพื่อความปลอดภัยเพิ่มเติมคุณสามารถกำหนดโทเค็นการรับรองความถูกต้องตามเวลาเช่นเดียวกับรหัสผ่านเพื่อเข้าสู่ระบบ Linux PC ของคุณ โซลูชันนี้ใช้ Google Authenticator และแอป TOTP อื่น ๆ.
กระบวนการนี้ดำเนินการบน Ubuntu 14.04 พร้อมเดสก์ท็อป Unity มาตรฐานและตัวจัดการการเข้าสู่ระบบ LightDM แต่หลักการเหมือนกันในการกระจาย Linux และเดสก์ท็อปส่วนใหญ่.
ก่อนหน้านี้เราแสดงให้คุณเห็นถึงวิธีการกำหนดให้ Google Authenticator สำหรับการเข้าถึงระยะไกลผ่าน SSH และกระบวนการนี้คล้ายกัน สิ่งนี้ไม่ต้องการแอป Google Authenticator แต่ทำงานได้กับแอพที่ใช้งานร่วมกันได้ซึ่งใช้รูปแบบการตรวจสอบ TOTP รวมถึง Authy.
ติดตั้ง PAM ของ Google Authenticator
เมื่อทำการตั้งค่าสำหรับการเข้าถึง SSH อันดับแรกเราจะต้องติดตั้งซอฟต์แวร์ PAM (“ โมดูลที่ตรวจสอบได้ด้วยตนเอง”) PAM เป็นระบบที่ช่วยให้เราสามารถเสียบวิธีการตรวจสอบสิทธิ์ประเภทต่างๆเข้ากับระบบ Linux และต้องการได้.
บน Ubuntu คำสั่งต่อไปนี้จะติดตั้ง Google Authenticator PAM เปิดหน้าต่างเทอร์มินัลพิมพ์คำสั่งต่อไปนี้กด Enter และระบุรหัสผ่านของคุณ ระบบจะดาวน์โหลด PAM จากคลังซอฟต์แวร์ของ Linux และติดตั้ง:
sudo apt-get install libpam-google-authenticator
หวังว่าลีนุกซ์รุ่นอื่น ๆ ควรจะมีแพ็คเกจนี้ให้ติดตั้งได้ง่ายเช่นกัน - เปิดคลังเก็บซอฟต์แวร์ของ Linux และทำการค้นหา ในสถานการณ์กรณีที่เลวร้ายที่สุดคุณสามารถค้นหาซอร์สโค้ดสำหรับโมดูล PAM บน GitHub และรวบรวมด้วยตัวคุณเอง.
ดังที่เราได้กล่าวมาก่อนหน้านี้โซลูชันนี้ไม่ได้ขึ้นอยู่กับ“ การโทรกลับบ้าน” กับเซิร์ฟเวอร์ของ Google มันใช้อัลกอริทึม TOTP มาตรฐานและสามารถใช้งานได้แม้ในขณะที่คอมพิวเตอร์ของคุณไม่มีการเข้าถึงอินเทอร์เน็ต.
สร้างคีย์การตรวจสอบสิทธิ์ของคุณ
ตอนนี้คุณจะต้องสร้างคีย์การตรวจสอบสิทธิ์ที่เป็นความลับและป้อนลงในแอป Google Authenticator (หรือแอปที่คล้ายกัน) ในโทรศัพท์ของคุณ ขั้นแรกให้ล็อกอินเป็นบัญชีผู้ใช้ของคุณบนระบบ Linux เปิดหน้าต่างเทอร์มินัลแล้วเรียกใช้ google-Authenticator คำสั่ง ชนิด Y และปฏิบัติตามคำแนะนำที่นี่ สิ่งนี้จะสร้างไฟล์พิเศษในไดเรกทอรีของบัญชีผู้ใช้ปัจจุบันด้วยข้อมูล Google Authenticator.
นอกจากนี้คุณยังจะได้รับทราบถึงกระบวนการรับรหัสยืนยันสองปัจจัยนั้นใน Google Authenticator หรือแอป TOTP ที่คล้ายกันในสมาร์ทโฟนของคุณ ระบบของคุณสามารถสร้างรหัส QR ที่คุณสามารถสแกนหรือคุณสามารถพิมพ์ด้วยตนเอง.
อย่าลืมจดรหัสรอยขีดข่วนฉุกเฉินซึ่งคุณสามารถใช้เพื่อเข้าสู่ระบบด้วยหากคุณทำโทรศัพท์หาย.
ทำตามขั้นตอนนี้สำหรับแต่ละบัญชีผู้ใช้ที่ใช้คอมพิวเตอร์ของคุณ ตัวอย่างเช่นหากคุณเป็นคนเดียวที่ใช้คอมพิวเตอร์ของคุณคุณสามารถทำได้เพียงครั้งเดียวในบัญชีผู้ใช้ปกติของคุณ หากคุณมีคนอื่นที่ใช้คอมพิวเตอร์ของคุณคุณจะต้องให้พวกเขาลงชื่อเข้าใช้บัญชีของตนเองและสร้างรหัสสองปัจจัยที่เหมาะสมสำหรับบัญชีของตนเองเพื่อให้พวกเขาสามารถเข้าสู่ระบบได้.
เปิดใช้งานการรับรองความถูกต้อง
นี่คือสิ่งที่ได้รับเล็กน้อย เมื่อเราอธิบายวิธีการเปิดใช้งานปัจจัยสองประการสำหรับการเข้าสู่ระบบ SSH เราจำเป็นต้องใช้มันสำหรับการเข้าสู่ระบบ SSH เท่านั้น สิ่งนี้ทำให้มั่นใจได้ว่าคุณยังสามารถเข้าสู่ระบบในเครื่องได้หากคุณทำแอปตรวจสอบความถูกต้องสูญหายหรือมีบางอย่างผิดปกติ.
เนื่องจากเราจะเปิดใช้งานการตรวจสอบสิทธิ์แบบสองปัจจัยสำหรับการเข้าสู่ระบบในเครื่องมีปัญหาที่อาจเกิดขึ้นที่นี่ หากมีบางอย่างผิดปกติคุณอาจไม่สามารถเข้าสู่ระบบได้โปรดจำไว้ว่าเราจะแนะนำคุณในการเข้าสู่ระบบกราฟิกเท่านั้น สิ่งนี้จะช่วยให้คุณสามารถหลบหนีออกมาได้หากคุณต้องการ.
เปิดใช้งาน Google Authenticator สำหรับการลงชื่อเข้าใช้แบบกราฟิกบน Ubuntu
คุณสามารถเปิดใช้งานการรับรองความถูกต้องสองขั้นตอนสำหรับการเข้าสู่ระบบแบบกราฟิกเท่านั้นโดยข้ามข้อกำหนดเมื่อคุณเข้าสู่ระบบจากข้อความแจ้งเตือน ซึ่งหมายความว่าคุณสามารถสลับไปที่เทอร์มินัลเสมือนได้อย่างง่ายดายเข้าสู่ระบบที่นั่นและย้อนกลับการเปลี่ยนแปลงของคุณเพื่อไม่ให้ Gogole Authenciator ทำงานหากคุณประสบปัญหา.
แน่นอนว่านี่เป็นการเปิดช่องโหว่ในระบบการตรวจสอบสิทธิ์ของคุณ แต่ผู้โจมตีที่มีการเข้าถึงระบบของคุณจะสามารถใช้ประโยชน์จากมันได้ นั่นเป็นเหตุผลที่การพิสูจน์ตัวตนแบบสองปัจจัยมีประสิทธิภาพอย่างยิ่งสำหรับการลงชื่อเข้าใช้จากระยะไกลผ่าน SSH.
ต่อไปนี้เป็นวิธีการทำสิ่งนี้สำหรับ Ubuntu ซึ่งใช้ตัวจัดการการเข้าสู่ระบบ LightDM เปิดไฟล์ LightDM เพื่อแก้ไขด้วยคำสั่งดังนี้:
sudo gedit /etc/pam.d/lightdm
(โปรดจำไว้ว่าขั้นตอนเฉพาะเหล่านี้จะใช้ได้ต่อเมื่อการกระจาย Linux และเดสก์ท็อปของคุณใช้ตัวจัดการการเข้าสู่ระบบ LightDM)
เพิ่มบรรทัดต่อไปนี้ในตอนท้ายของไฟล์จากนั้นบันทึก:
การตรวจสอบสิทธิ์ต้องมี pam_google_authenticator.so nullok
บิต“ nullok” ที่ส่วนท้ายบอกให้ระบบอนุญาตให้ผู้ใช้ลงชื่อเข้าใช้แม้ว่าพวกเขาจะไม่ได้เรียกใช้คำสั่ง google-authenticator เพื่อตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัย หากพวกเขาได้ตั้งค่าพวกเขาจะต้องป้อนรหัสเวลา baesd มิฉะนั้นพวกเขาจะไม่ ลบ“ nullok” และบัญชีผู้ใช้ที่ไม่ได้ตั้งรหัส Google Authenticator เพียง แต่จะไม่สามารถเข้าสู่ระบบแบบกราฟิก.
ครั้งต่อไปที่ผู้ใช้ลงชื่อเข้าใช้แบบกราฟิกพวกเขาจะถูกถามถึงรหัสผ่านของพวกเขาจากนั้นขอรหัสยืนยันปัจจุบันที่แสดงบนโทรศัพท์ของพวกเขา หากพวกเขาไม่ป้อนรหัสยืนยันพวกเขาจะไม่ได้รับอนุญาตให้เข้าสู่ระบบ.
กระบวนการนี้ควรจะค่อนข้างคล้ายกันสำหรับลีนุกซ์และดิสทริบิวชั่นอื่น ๆ , เนื่องจากตัวจัดการเซสชันบนเดสก์ท็อปลีนุกซ์ส่วนใหญ่ใช้ PAM. คุณอาจจะต้องแก้ไขไฟล์อื่นด้วยสิ่งที่คล้ายกันเพื่อเปิดใช้งานโมดูล PAM ที่เหมาะสม.
ถ้าคุณใช้การเข้ารหัสไดเรกทอรีบ้าน
อูบุนตูรุ่นเก่านำเสนอตัวเลือก“ เข้ารหัสโฟลเดอร์หลัก” ที่ง่ายซึ่งเข้ารหัสไดเรกทอรีโฮมทั้งหมดของคุณจนกว่าคุณจะป้อนรหัสผ่าน โดยเฉพาะสิ่งนี้ใช้ ecryptfs อย่างไรก็ตามเนื่องจากซอฟต์แวร์ PAM ขึ้นอยู่กับไฟล์ Google Authenticator ที่เก็บไว้ในโฮมไดเร็กตอรี่ของคุณการเข้ารหัสจะรบกวน PAM ที่อ่านไฟล์จนกว่าคุณจะมั่นใจได้ว่ามันมีอยู่ในรูปแบบที่ไม่ได้เข้ารหัสระบบก่อนที่คุณจะเข้าสู่ระบบ ข้อมูลเกี่ยวกับการหลีกเลี่ยงปัญหานี้หากคุณยังคงใช้ตัวเลือกการเข้ารหัสไดเรกทอรีบ้านที่เลิกใช้แล้ว.
Ubuntu รุ่นใหม่เสนอการเข้ารหัสดิสก์เต็มรูปแบบแทนซึ่งจะทำงานได้ดีกับตัวเลือกข้างต้น คุณไม่ต้องทำอะไรเป็นพิเศษ
ช่วยด้วยมันพังทลาย!
เนื่องจากเราเพิ่งเปิดใช้งานสิ่งนี้สำหรับการลงชื่อเข้าใช้แบบกราฟิกมันควรจะปิดการใช้งานได้ง่ายถ้ามันทำให้เกิดปัญหา กดคีย์ผสมเช่น Ctrl + Alt + F2 เพื่อเข้าถึงเทอร์มินัลเสมือนและล็อกอินด้วยชื่อผู้ใช้และรหัสผ่านของคุณ จากนั้นคุณสามารถใช้คำสั่งเช่น sudo nano /etc/pam.d/lightdm เพื่อเปิดไฟล์เพื่อแก้ไขในเทอร์มินัลเท็กซ์เท็กซ์ ใช้คำแนะนำของเราเพื่อนาโนเพื่อลบบรรทัดและบันทึกไฟล์และคุณจะสามารถเข้าสู่ระบบตามปกติอีกครั้ง.
คุณยังสามารถบังคับให้ Google Authenticator เป็นสิ่งจำเป็นสำหรับการเข้าสู่ระบบประเภทอื่น ๆ หรือแม้กระทั่งการเข้าสู่ระบบทั้งหมด - โดยการเพิ่มบรรทัด“ รับรองความถูกต้อง pam_google_authenticator.so” ไปยังไฟล์การกำหนดค่า PAM อื่น ๆ ระวังถ้าคุณทำเช่นนี้ และจำไว้ว่าคุณอาจต้องการเพิ่ม“ nullok” เพื่อให้ผู้ใช้ที่ไม่ได้ผ่านกระบวนการตั้งค่ายังคงสามารถเข้าสู่ระบบได้.
เอกสารเพิ่มเติมเกี่ยวกับวิธีใช้และตั้งค่าโมดูล PAM นี้สามารถพบได้ในไฟล์ README ของซอฟต์แวร์บน GitHub.