วิธีการตั้งค่าการรับรองความถูกต้องด้วยสองปัจจัยใน Ubuntu สำหรับผู้ใช้ Ubuntu โดยใช้เครื่องพิสูจน์ตัวตนของ Google


11

วิธีการตั้งค่าการรับรองความถูกต้องด้วยสองปัจจัยใน Ubuntu สำหรับผู้ใช้ Ubuntu ที่ใช้ตัวตรวจสอบความถูกต้องของ Google (สามารถตั้งค่าสำหรับบัญชีที่ไม่ใช่ Google ได้ด้วย)

คำตอบ:


16

หมายเหตุ:เมื่อคุณเปิดใช้งานการรับรองความถูกต้องแบบ 2 ปัจจัยสำหรับผู้ใช้และไม่ได้ตั้งค่าไว้เหมือนกันสำหรับรูทคุณจะไม่สามารถเข้าสู่ระบบในฐานะรูทได้โดยตรง ในกรณีเช่นนี้การใช้ผู้ใช้ sudo คนอื่นซึ่งเราได้ทำการติดตั้งแล้วใช้sudo su -เพื่อเปลี่ยนไปใช้ผู้ใช้รูท


ใช้ขั้นตอนด้านล่างเพื่อตั้งค่า

  1. ติดตั้งแพคเกจที่ระบุด้านล่างเพื่อติดตั้ง Google authenticator ซึ่งเราจะใช้เป็นส่วนเสริมกับการตรวจสอบ PAM:

    sudo apt-get install libpam-google-authenticator
    
  2. ตอนนี้แก้ไข/etc/pam.d/sshdไฟล์นี้และเพิ่ม Google Authenticator ตามที่ระบุด้านล่าง:

    *sudo vim /etc/pam.d/sshd
    

    ใส่ด้านล่างที่ด้านบนไฟล์นี้ -

    auth required pam_google_authenticator.so
    
  3. ที่นี่เราต้องทำการเปลี่ยนแปลง/etc/ssh/sshd_configเพื่อให้แน่ใจว่า ssh ใช้ Google Authenticator ด้วยวิธีนี้เราจึงมั่นใจได้ว่า ssh ใช้การตรวจสอบสิทธิ์แบบสองปัจจัย

    vim /etc/ssh/sshd_config
    

    ในไฟล์นี้เราต้องค้นหาChallengeResponseAuthenticationและไม่แสดงความคิดเห็นและ / หรือแก้ไขมันให้มีลักษณะเหมือนด้านล่าง (โดยย่อให้ตั้งค่าเป็นใช่: P):

    ChallengeResponseAuthentication yes
    

    การรับรองความถูกต้องแบบพิเศษหรือ GUI 2 ปัจจัยข้ามขั้นตอนนี้และไปที่ขั้นตอนที่ 4:หากต้องการเปิดใช้งานสำหรับการเข้าสู่ระบบ GUI ให้แก้ไข/etc/pam.d/common-auth:

    sudo vim /etc/pam.d/common-auth
    

    และเพิ่มตอนนี้auth required pam_google_authenticator.soเหนือบรรทัดauth [success=1 default=ignore] pam_unix.so nullok_secureแล้วบันทึกไฟล์

  4. ตอนนี้เปลี่ยนเป็นบัญชีที่คุณต้องการตั้งค่า
    ( หมายเหตุ:ฉันขอแนะนำให้สร้างบัญชีผู้ใช้ขั้นสูงอย่างน้อยสองบัญชีในระบบนอกเหนือจากบัญชีรูทและกำหนดค่าอย่างน้อยหนึ่งบัญชีก่อนอื่น แต่ไม่ใช่บัญชีรูท)

    sudo su - testuser1
    
  5. ตอนนี้เราจะใช้คำสั่งด้านล่างเพื่อตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัยสำหรับสิ่งนี้testuser1:

    google-authenticator
    
  6. ใช้คำสั่งนี้จะถามคำถามด้านล่าง (คำตอบที่แนะนำคือใช่)

    คุณต้องการให้โทเค็นการรับรองความถูกต้องเป็นไปตามเวลา (y / n) y

  7. หลังจากนั้นจะแสดงรหัส QR และรหัสขูดฉุกเฉินและรายละเอียดอื่น ๆ วางออกควรมีลักษณะดังภาพด้านล่าง:

    ป้อนคำอธิบายรูปภาพที่นี่

  8. ตอนนี้คุณต้องใช้โทรศัพท์ Android / Apple / Blackberry เพื่อดาวน์โหลดและติดตั้งแอปพลิเคชันGoogle Authenticatorจากตลาดที่เกี่ยวข้องเช่นGoogle Play Store ซึ่งจะสร้างรหัสให้คุณเข้าสู่ระบบ

    ด้านล่างนี้เป็นภาพหน้าจอของไอคอนแอปพลิเคชันและแอปพลิเคชันที่นำมาจากโทรศัพท์ Android แอปพลิเคชัน

    ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

  9. เริ่มแอปพลิเคชันบนโทรศัพท์ของคุณและสแกนรหัส QR หรือใช้รหัสลับและรหัสยืนยันที่ให้ไว้ด้านล่างรหัส QR บนระบบซึ่งคุณสามารถดูได้ในภาพหน้าจอแรกด้านบน

  10. เมื่อทำสิ่งนี้เสร็จแล้วสิ่งสำคัญคือให้จดบันทึกและบันทึกรหัสลับฉุกเฉินของคุณไว้ในที่ปลอดภัยเนื่องจากเป็นรหัสที่สามารถช่วยคุณได้ในกรณีที่คุณถูกล็อก

  11. ณ จุดนี้ในเวลาที่คุณควรดูที่ด้านล่างของหน้าจอที่จะถามคำถามด้านล่าง (คำตอบที่แนะนำคือใช่):

    คุณต้องการให้ฉันอัปเดตไฟล์ "/home/testuser1/.google_authenticator" ของคุณ (y / n) y

  12. อีกครั้งมันจะถามคำถามคุณอีกหนึ่งข้อและคำตอบที่แนะนำสำหรับคำถามด้านล่างนี้คือใช่:

    คุณต้องการที่จะไม่อนุญาตให้ใช้โทเค็นการรับรองความถูกต้องแบบเดียวกันหลายครั้งหรือไม่? นี่เป็นการ จำกัด ให้คุณเข้าสู่ระบบหนึ่งครั้งเกี่ยวกับทุก ๆ 30s แต่จะเพิ่มโอกาสของคุณในการสังเกตหรือป้องกันการโจมตีจากคนกลาง (y / n) y

  13. คำถามต่อไปจะเป็นไปตามที่ระบุไว้ด้านล่างและคำตอบที่แนะนำคือไม่ใช่:

    โดยค่าเริ่มต้นโทเค็นจะดีเป็นเวลา 30 วินาทีและเพื่อชดเชยเวลาที่อาจเกิดขึ้นระหว่างไคลเอนต์และเซิร์ฟเวอร์เราอนุญาตให้มีโทเค็นพิเศษก่อนและหลังเวลาปัจจุบัน หากคุณประสบปัญหากับการซิงโครไนซ์เวลาไม่ดีคุณสามารถเพิ่มหน้าต่างจากขนาดเริ่มต้นที่ 1: 30 นาทีถึงประมาณ 4 นาที คุณต้องการทำเช่นนั้น (y / n) n

  14. และคำถามสุดท้ายจะได้รับด้านล่างและคำตอบที่แนะนำคือใช่:

    หากคอมพิวเตอร์ที่คุณกำลังลงชื่อเข้าใช้ไม่ได้รับการสนับสนุนจากการพยายามลงชื่อเข้าใช้แบบ brute-force คุณสามารถเปิดใช้งานการ จำกัด อัตราสำหรับโมดูลการตรวจสอบสิทธิ์ ตามค่าเริ่มต้นสิ่งนี้ จำกัด ผู้โจมตีไม่เกิน 3 ครั้งทุกครั้ง คุณต้องการเปิดใช้งานการ จำกัด อัตรา (y / n) y

  15. ตอนนี้สลับออกจากบัญชีนี้เพื่อกลับไปที่บัญชีรูท:

    exit
    
  16. ตอนนี้เริ่มบริการ ssh

    service ssh restart
    

ตอนนี้ใช้เซสชั่น ssh สำหรับผู้ใช้ที่คุณตั้งค่าไว้และมันจะขอรหัสยืนยันจากคุณซึ่งคุณสามารถป้อนจากมือถือของคุณก่อนจากนั้นจะขอรหัสผ่านผู้ใช้

ป้อนคำอธิบายรูปภาพที่นี่

นั่นคือทั้งหมดที่จำเป็นในการตั้งค่าการตรวจสอบความถูกต้องด้วยสองปัจจัย โปรดอย่าลังเลที่จะปรับปรุงคำตอบในกรณีที่จำเป็นและขอโทษสำหรับภาษาที่ไม่ค่อยดี


เมื่อฉันถอนการติดตั้งมันจะทำให้เกิดปัญหาทุกครั้งที่ฉันเรียกใช้คำสั่งด้วย sudo: sudo: ข้อผิดพลาดในการตรวจสอบความถูกต้องของ PAM: โมดูลไม่เป็นที่รู้จัก
bagustris

@bagustris คุณจะต้องแก้ไขไฟล์ "/etc/pam.d/common-auth" และลบ "auth required pam_google_authenticator.so" รายการนี้ หลังจากคุณถอนการติดตั้ง
Hrish

หากต้องการแก้ไข /etc/pam.d/common-auth ต้องใช้ sudo เนื่องจาก sudo ไม่ทำงานอีกต่อไปฉันต้องใช้ระบบปฏิบัติการจริง (หรือในกรณีของฉันเนื่องจากฉันใช้ระบบปฏิบัติการคู่กับ Mac OS ฉันสามารถแก้ไขได้จาก OS X ด้วยชุดสิทธิ์เขียนได้)
bagustris

1
@bagustris คุณสามารถทำได้โดยไปที่โหมดการกู้คืน
Hrish

1
มันจะเป็นความปลอดภัยในการเข้าถึงไม่หลวมกับเครื่องถ้าในขั้นตอนที่ 2 เราใช้แทนauth optional auth requiredมิฉะนั้นการเข้าสู่ระบบจะไม่สามารถทำได้อีกต่อไปหากเซสชันล่มและกระบวนการไม่เสร็จสิ้น
ปาสกาล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.