วิธีการตั้งค่าการรับรองความถูกต้องด้วยสองปัจจัยใน Ubuntu สำหรับผู้ใช้ Ubuntu ที่ใช้ตัวตรวจสอบความถูกต้องของ Google (สามารถตั้งค่าสำหรับบัญชีที่ไม่ใช่ Google ได้ด้วย)
วิธีการตั้งค่าการรับรองความถูกต้องด้วยสองปัจจัยใน Ubuntu สำหรับผู้ใช้ Ubuntu ที่ใช้ตัวตรวจสอบความถูกต้องของ Google (สามารถตั้งค่าสำหรับบัญชีที่ไม่ใช่ Google ได้ด้วย)
คำตอบ:
หมายเหตุ:เมื่อคุณเปิดใช้งานการรับรองความถูกต้องแบบ 2 ปัจจัยสำหรับผู้ใช้และไม่ได้ตั้งค่าไว้เหมือนกันสำหรับรูทคุณจะไม่สามารถเข้าสู่ระบบในฐานะรูทได้โดยตรง ในกรณีเช่นนี้การใช้ผู้ใช้ sudo คนอื่นซึ่งเราได้ทำการติดตั้งแล้วใช้sudo su -
เพื่อเปลี่ยนไปใช้ผู้ใช้รูท
ใช้ขั้นตอนด้านล่างเพื่อตั้งค่า
ติดตั้งแพคเกจที่ระบุด้านล่างเพื่อติดตั้ง Google authenticator ซึ่งเราจะใช้เป็นส่วนเสริมกับการตรวจสอบ PAM:
sudo apt-get install libpam-google-authenticator
ตอนนี้แก้ไข/etc/pam.d/sshd
ไฟล์นี้และเพิ่ม Google Authenticator ตามที่ระบุด้านล่าง:
*sudo vim /etc/pam.d/sshd
ใส่ด้านล่างที่ด้านบนไฟล์นี้ -
auth required pam_google_authenticator.so
ที่นี่เราต้องทำการเปลี่ยนแปลง/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
แล้วบันทึกไฟล์
ตอนนี้เปลี่ยนเป็นบัญชีที่คุณต้องการตั้งค่า
( หมายเหตุ:ฉันขอแนะนำให้สร้างบัญชีผู้ใช้ขั้นสูงอย่างน้อยสองบัญชีในระบบนอกเหนือจากบัญชีรูทและกำหนดค่าอย่างน้อยหนึ่งบัญชีก่อนอื่น แต่ไม่ใช่บัญชีรูท)
sudo su - testuser1
ตอนนี้เราจะใช้คำสั่งด้านล่างเพื่อตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัยสำหรับสิ่งนี้testuser1
:
google-authenticator
ใช้คำสั่งนี้จะถามคำถามด้านล่าง (คำตอบที่แนะนำคือใช่)
คุณต้องการให้โทเค็นการรับรองความถูกต้องเป็นไปตามเวลา (y / n) y
หลังจากนั้นจะแสดงรหัส QR และรหัสขูดฉุกเฉินและรายละเอียดอื่น ๆ วางออกควรมีลักษณะดังภาพด้านล่าง:
ตอนนี้คุณต้องใช้โทรศัพท์ Android / Apple / Blackberry เพื่อดาวน์โหลดและติดตั้งแอปพลิเคชันGoogle Authenticatorจากตลาดที่เกี่ยวข้องเช่นGoogle Play Store ซึ่งจะสร้างรหัสให้คุณเข้าสู่ระบบ
ด้านล่างนี้เป็นภาพหน้าจอของไอคอนแอปพลิเคชันและแอปพลิเคชันที่นำมาจากโทรศัพท์ Android แอปพลิเคชัน
เริ่มแอปพลิเคชันบนโทรศัพท์ของคุณและสแกนรหัส QR หรือใช้รหัสลับและรหัสยืนยันที่ให้ไว้ด้านล่างรหัส QR บนระบบซึ่งคุณสามารถดูได้ในภาพหน้าจอแรกด้านบน
เมื่อทำสิ่งนี้เสร็จแล้วสิ่งสำคัญคือให้จดบันทึกและบันทึกรหัสลับฉุกเฉินของคุณไว้ในที่ปลอดภัยเนื่องจากเป็นรหัสที่สามารถช่วยคุณได้ในกรณีที่คุณถูกล็อก
ณ จุดนี้ในเวลาที่คุณควรดูที่ด้านล่างของหน้าจอที่จะถามคำถามด้านล่าง (คำตอบที่แนะนำคือใช่):
คุณต้องการให้ฉันอัปเดตไฟล์ "/home/testuser1/.google_authenticator" ของคุณ (y / n) y
อีกครั้งมันจะถามคำถามคุณอีกหนึ่งข้อและคำตอบที่แนะนำสำหรับคำถามด้านล่างนี้คือใช่:
คุณต้องการที่จะไม่อนุญาตให้ใช้โทเค็นการรับรองความถูกต้องแบบเดียวกันหลายครั้งหรือไม่? นี่เป็นการ จำกัด ให้คุณเข้าสู่ระบบหนึ่งครั้งเกี่ยวกับทุก ๆ 30s แต่จะเพิ่มโอกาสของคุณในการสังเกตหรือป้องกันการโจมตีจากคนกลาง (y / n) y
คำถามต่อไปจะเป็นไปตามที่ระบุไว้ด้านล่างและคำตอบที่แนะนำคือไม่ใช่:
โดยค่าเริ่มต้นโทเค็นจะดีเป็นเวลา 30 วินาทีและเพื่อชดเชยเวลาที่อาจเกิดขึ้นระหว่างไคลเอนต์และเซิร์ฟเวอร์เราอนุญาตให้มีโทเค็นพิเศษก่อนและหลังเวลาปัจจุบัน หากคุณประสบปัญหากับการซิงโครไนซ์เวลาไม่ดีคุณสามารถเพิ่มหน้าต่างจากขนาดเริ่มต้นที่ 1: 30 นาทีถึงประมาณ 4 นาที คุณต้องการทำเช่นนั้น (y / n) n
และคำถามสุดท้ายจะได้รับด้านล่างและคำตอบที่แนะนำคือใช่:
หากคอมพิวเตอร์ที่คุณกำลังลงชื่อเข้าใช้ไม่ได้รับการสนับสนุนจากการพยายามลงชื่อเข้าใช้แบบ brute-force คุณสามารถเปิดใช้งานการ จำกัด อัตราสำหรับโมดูลการตรวจสอบสิทธิ์ ตามค่าเริ่มต้นสิ่งนี้ จำกัด ผู้โจมตีไม่เกิน 3 ครั้งทุกครั้ง คุณต้องการเปิดใช้งานการ จำกัด อัตรา (y / n) y
ตอนนี้สลับออกจากบัญชีนี้เพื่อกลับไปที่บัญชีรูท:
exit
ตอนนี้เริ่มบริการ ssh
service ssh restart
ตอนนี้ใช้เซสชั่น ssh สำหรับผู้ใช้ที่คุณตั้งค่าไว้และมันจะขอรหัสยืนยันจากคุณซึ่งคุณสามารถป้อนจากมือถือของคุณก่อนจากนั้นจะขอรหัสผ่านผู้ใช้
นั่นคือทั้งหมดที่จำเป็นในการตั้งค่าการตรวจสอบความถูกต้องด้วยสองปัจจัย โปรดอย่าลังเลที่จะปรับปรุงคำตอบในกรณีที่จำเป็นและขอโทษสำหรับภาษาที่ไม่ค่อยดี
auth optional
auth required
มิฉะนั้นการเข้าสู่ระบบจะไม่สามารถทำได้อีกต่อไปหากเซสชันล่มและกระบวนการไม่เสร็จสิ้น