2 การตรวจสอบความถูกต้องของปัจจัยใน SSH โดยใช้กุญแจสาธารณะและ PAM


9

ฉันกำลังพยายามติดตั้ง 2 Factor Authentication ฉันต้องการให้ผู้ใช้ลงชื่อเข้าใช้สำเร็จหาก:

  • พับลิกคีย์ส่วนตัว / สาธารณะตรงกัน (วิธีการรับรองความถูกต้อง: publickey) หรือรหัสผ่านถูกต้อง
  • วิธีการรับรองความถูกต้อง pam ของฉันสำเร็จแล้ว

วิธีการรับรองความถูกต้องที่สองคือไฟล์ PAM ดังนั้นผมจึงวางมันลงไป/usr/lib/pam/และเพิ่มในauth required my_pam_module.so จนถึงตอนนี้ฉันสามารถเข้าสู่ระบบโดยใช้ (publickey method) หรือ (รหัสผ่านและสิ่งใดก็ตามที่ฉันต้องการโมดูล pam) ดังนั้นผมจึงเพิ่มในและตอนนี้ฉันต้องมีคีย์สาธารณะใช้รหัสผ่านและ "สิ่งที่ถูกต้องตามฉัน pam โมดูล"/etc/pam.d/sshd
AuthenticationMethods publickey,keyboard-interactive/etc/sshd_config

ฉันต้องเปลี่ยนบรรทัดใดเพื่อให้บรรลุสิ่งที่ฉันอธิบายไว้ข้างต้น ฉันใช้ Mac OS X Mavericks (10.9) หากคุณไม่คุ้นเคยกับ Mac ก็สามารถช่วยคุณได้ในระบบ Linux

คำตอบ:


2

มันค่อนข้างง่ายสำหรับ "publickey-> password-> your_module" หรือ "password-> your_module" ไม่พบวิธีลบรหัสผ่านจากการเชื่อมโยงแรก

publickey, keyboard-interactive - หมายความว่า publickey auth จะถูกใช้และ keyboard-interactive หลังจากนั้น (ชนิดของตรรกะ AND), แทนที่เครื่องหมายจุลภาคด้วยช่องว่างสำหรับตรรกะ OR, เช่น

AuthenticationMethods publickey, แป้นพิมพ์แบบโต้ตอบ: pam แป้นพิมพ์แบบโต้ตอบ: pam


เมื่อฉันเขียนkeyboard-interactive:pamในการกำหนดค่าฉันได้รับข้อผิดพลาดนี้:ssh_exchange_identification: Connection closed by remote host
Matt3o12

ลองเรียกใช้ไคลเอ็นต์ ssh ในโหมด verbose มันจะให้ข้อมูลเพิ่มเติมกับคุณว่าเกิดอะไรขึ้น กดไลค์ 'ssh -vvv <hostname>'
Dmitri Sosnik

นี่คือบันทึกอย่างละเอียดของ SSH: pastebin.com/hXTaCJ6f คุณยังสามารถค้นหาส่วนที่เกี่ยวข้องของบันทึกเซิร์ฟเวอร์ของฉันด้านล่าง (สิ่งล่าสุดคือการรายงาน sshd) ฉันต้องเปลี่ยนแพมด้วย "my_pam_method" หรือไม่
Matt3o12

เพิ่งสงสัยคุณได้เพิ่ม "ChallengeResponseAuthentication ใช่" และ "UsePAM ใช่" เพื่อ sshd config หรือไม่
Dmitri Sosnik

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