Score:1

ต้องการความช่วยเหลือเกี่ยวกับ Google Authenticator บน Ubuntu

ธง cn

ฉันมี Ubuntu 20.04.3 LTS ซึ่งฉันติดตั้ง Google Authenticator สำหรับการตรวจสอบ MFA สำเร็จแล้ว ตอนนี้ฉันต้องการความช่วยเหลือเกี่ยวกับขั้นตอนการตรวจสอบสิทธิ์ เป้าหมายของฉันคือ:

  1. หากผู้ใช้ไม่มีคีย์ ssh ดังนั้นในการเชื่อมต่อ SSH ผู้ใช้จะต้องป้อนรหัสผ่านก่อนแล้วจึงป้อนคีย์การตรวจสอบของ Google เพื่อเข้าถึงระบบ

  2. หากผู้ใช้มีคีย์ ssh ก็ไม่จำเป็นต้องป้อนรหัสผ่าน แต่ควรป้อนคีย์การยืนยันของ Google

ตอนนี้เป็นไปได้ไหม ถ้าใช่ ฉันต้องทำการตั้งค่าแบบใด /etc/ssh/sshd_config และ /etc/pam.d/sshd

นี่คือที่มีอยู่ของฉัน /etc/pam.d/sshd การกำหนดค่า

# การอัปเดตรหัสผ่านมาตรฐาน Un*x
@รวมรหัสผ่านทั่วไป

# การรับรองมาตรฐาน Un*x
@รวมการตรวจสอบสิทธิ์ทั่วไป

# การรับรองมาตรฐาน Un*x
จำเป็นต้องมีการตรวจสอบสิทธิ์ pam_google_authenticator.so nullok user=root secret=/root/totp/${USER}
จำเป็นต้องมีการตรวจสอบสิทธิ์ pam_permit.so

และนี่คือ /etc/ssh/sshd_config ไฟล์

ChallengeResponseAuthentication ใช่
ใช้ PAM ใช่
PubkeyAuthentication ใช่
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin ใช่
เลขที่ยืนยันรหัสผ่าน
AuthenticationMethods คีย์สาธารณะ แป้นพิมพ์แบบโต้ตอบ
Score:0
ธง cn
Tom

สมมติว่าคุณติดตั้งทุกอย่างถูกต้องเช่น ติดตั้งด้วย:

sudo apt-get install libpam-google-authenticator

และได้รหัสมาด้วย

google-authenticator

และมีรหัสอยู่ในโฮมโฟลเดอร์ของคุณที่

ls /home/$USER/.google_authenticator

จากนั้นคุณควรเพิ่มสองบรรทัดต่อไปนี้ใน /etc/pam.d/sshd

...

# การอัปเดตรหัสผ่านมาตรฐาน Un*x
@รวมรหัสผ่านทั่วไป
ต้องมีการตรวจสอบสิทธิ์ pam_google_authenticator.so
จำเป็นต้องมีการตรวจสอบสิทธิ์ pam_permit.so

...

หรือหากคุณต้องการให้ MFA เป็นตัวเลือกสำหรับผู้ใช้บางราย

...

# การอัปเดตรหัสผ่านมาตรฐาน Un*x
@รวมรหัสผ่านทั่วไป
การตรวจสอบสิทธิ์ต้องการ pam_google_authenticator ดังนั้น nullok
จำเป็นต้องมีการตรวจสอบสิทธิ์ pam_permit.so

...

ในการเปลี่ยนแปลงไฟล์ /etc/ssh/sshd_config ของคุณ:

ChallengeResponseAuthentication ใช่

แล้ว:

sudo systemctl รีสตาร์ท sshd.service

เมื่อทำการทดสอบอย่าหยุดการเชื่อมต่อ ssh ของคุณ เริ่มต้นใหม่ หากคุณกำหนดค่าผิด คุณสามารถล็อคได้

cn flag
สวัสดี ทอม คุณอ่านคำถามของฉันครบถ้วนหรือไม่ มีการตั้งค่าเดิมอยู่แล้ว คำตอบของคุณแตกต่างกันอย่างไร
Tom avatar
cn flag
Tom
สวัสดี Umar ฉันแค่พยายามทำให้คำถามทั่วไปเพื่อช่วยคนจำนวนมาก ฉันไม่ได้ตั้งค่า AuthenticationMethods ไม่จำเป็นจริงๆ แต่ฉันจะบอกว่ามันควรมีลักษณะเหมือน AuthenticationMethods publickey,password publickey,keyboard-interactive
cn flag
นี่ยังไม่ใช่สิ่งที่ฉันต้องการ ฉันคิดว่าฉันได้กล่าวไว้อย่างชัดเจนว่าหากผู้ใช้มีรหัส ssh ในไฟล์ที่ได้รับอนุญาตแล้ว Ubuntu จะตรวจสอบรหัสก่อนจากนั้นจึงขอให้เขาป้อนรหัสยืนยันของ Google และหากผู้ใช้ไม่มีรหัส ssh อูบุนตูควรขอให้เขาป้อนรหัสผ่านก่อน และหลังจากยืนยันรหัสผ่านแล้ว ให้ถาม hm เพื่อป้อนรหัสยืนยันของ Google...
Tom avatar
cn flag
Tom
ไม่สามารถทำได้ด้วยโมดูลแพม คีย์ ssh จะแทนที่ทุกอย่าง ดังนั้นจะไม่เรียกใช้โมดูล pam หากต้องการใช้โมดูล pam และคีย์ ssh คุณต้องปิดการยืนยันรหัสผ่าน
cn flag
นี่สินะที่อยากได้คำยืนยันจากใครซักคน สิ่งที่อยากได้มันเป็นไปไม่ได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา