ฉันกำลังพยายามกำหนดค่า sshd บนอินสแตนซ์ VPS และต้องการให้แม่มดตรวจสอบสิทธิ์คือ publickey,keyboard-interactive (คีย์สาธารณะและแป้นพิมพ์แบบโต้ตอบ)
ปัญหาคือเซิร์ฟเวอร์ขอรหัสผ่านผู้ใช้เซิร์ฟเวอร์ในการเข้าสู่ระบบหลังจากส่งและยอมรับรหัสสาธารณะแล้ว ควรขอรหัส 2FA เท่านั้น
ฉันสามารถเข้าสู่ระบบโดยใช้คีย์สาธารณะ รหัสผ่านผู้ใช้เซิร์ฟเวอร์ และรหัส 2FA
ฉันมีการตั้งค่าที่คล้ายกันอีกสองแบบซึ่งใช้งานได้ดี แต่ฉันจำได้ว่ามีปัญหาในการตั้งค่า เช่น การใช้มนต์ดำในไฟล์การกำหนดค่าที่แปลกประหลาด
ฉันใช้เวลานับไม่ถ้วนเพื่อพยายามกำหนดค่า sshd ด้วยวิธีนี้บนโฮสต์อื่น และตอนนี้ดูเหมือนจะไม่สำเร็จ
ฉันยังพยายามเปรียบเทียบบันทึกของไคลเอนต์และเซิร์ฟเวอร์ในการตั้งค่าการทำงานและอันนี้ แต่บันทึกเหมือนกัน! (ยกเว้น IP พอร์ต และลายนิ้วมือ)
บันทึกไคลเอนต์ SSH : https://pastebin.com/P1xsKTwm
เซิร์ฟเวอร์ /etc/ssh/sshd_config : https://pastebin.com/qSH7GAmR
/etc/pam.d/sshd ของเซิร์ฟเวอร์ : https://pastebin.com/YBKY91Rk
(sshd ถูกรีสตาร์ทโดยใช้ sudo systemctl รีสตาร์ท sshd.service
)
แก้ไข: การโต้ตอบด้วยแป้นพิมพ์ไม่ได้มีไว้สำหรับ 2FA เท่านั้น
อ่านความคิดเห็นในคำตอบของ mforsetti ด้านล่าง ฉันไม่เข้าใจว่าการโต้ตอบด้วยแป้นพิมพ์ไม่ได้มีไว้สำหรับ 2FA เท่านั้น
เคล็ดลับคือการแก้ไข /etc/pam.d/sshd
ไฟล์เพื่อปิดใช้งานการตรวจสอบรหัสผ่าน (อธิบายไว้ในโพสต์ของ mforsetti และความคิดเห็นด้านล่าง)