TL; DR: วิธีที่ดีที่สุดในการเมานต์บ้านผู้ใช้ผ่าน SSHFS (หรือโปรโตคอลเข้ารหัสอื่น ๆ ) ที่เข้าสู่ระบบในขณะที่บังคับใช้คีย์ความปลอดภัยเช่น Yubikeys และ Nitrokeys คืออะไร
รุ่นยาว:
ฉันต้องสร้างเครือข่ายใหม่ซึ่งประกอบด้วย (อย่างน้อยในขั้นต้น) เซิร์ฟเวอร์กลางหนึ่งเครื่องและไคลเอนต์หลายเครื่อง แนวคิดคือการปล่อยให้ไคลเอนต์บูตผ่าน PXE จากนั้นติดตั้งโฟลเดอร์ที่จำเป็นทั้งหมดผ่าน SSHFS นั่นจะไม่มีปัญหาเลยกับการกำหนดค่า pam_mount อย่างถูกต้อง หากฉันต้องการเพียงชื่อผู้ใช้และรหัสผ่าน แต่ฉันจำเป็นต้องบังคับให้ใช้ Yubikey เป็นปัจจัยที่สองเพื่อปลดล็อกการเมานต์ SSHFS
คุณรู้จักโซลูชันที่พร้อมใช้งานไม่มากก็น้อยที่ฉันสามารถใช้เพื่อบรรลุเป้าหมายของฉันได้หรือไม่
เพื่อความสมบูรณ์ของหลักสูตร ฉันยังมีแนวคิดบางอย่าง แต่ฉันไม่รู้ว่าหนึ่งในนั้นเป็นไปได้จริงหรือไม่:
การใช้ pam_exec ร่วมกับสคริปต์ที่กำหนดเองซึ่งทำหน้าที่เป็นตัวตัดรอบขั้นตอนที่จำเป็นทั้งหมด เดมอนเซิร์ฟเวอร์จะตรวจสอบการพิสูจน์ตัวตนพื้นฐานโดยใช้ชื่อผู้ใช้+รหัสผ่าน และหากสำเร็จ จะตอบสนองด้วยการท้าทาย (FIDO2) ซึ่งไคลเอนต์จะใช้เพื่อสร้างการยืนยัน FIDO2 ซึ่งเซิร์ฟเวอร์สามารถตรวจสอบได้อีกครั้ง และหากสำเร็จ จะสร้าง SSH ชั่วคราว คีย์ซึ่งคีย์สาธารณะจะถูกเพิ่มเข้าไปในไฟล์ Authorized_keys และคีย์ส่วนตัวจะถูกส่งคืนไปยังไคลเอนต์ หลังจากเวลาที่กำหนด เซิร์ฟเวอร์จะลบรายการนี้อีกครั้ง ฉันค่อนข้างมั่นใจว่าเป็นไปได้
ใช้ pam_exec และสคริปต์ที่กำหนดเองอีกครั้ง แต่คราวนี้เพิ่ม Keycloak ในการตั้งค่าเซิร์ฟเวอร์ เพื่อให้เซิร์ฟเวอร์ daemon ทำหน้าที่เป็นผู้ให้บริการในแง่ของ OpenID Connect ฉันคิดว่าปัญหาที่นี่คือสคริปต์ไคลเอนต์ (wrapper) จะต้องสามารถตรวจสอบสิทธิ์กับ Keycloak ได้เนื่องจากไม่สามารถใช้ "Direct Grant"/"Resource Owner Grant" กับการตรวจสอบสิทธิ์แบบสองปัจจัยตามโทเค็นฮาร์ดแวร์
ขอบคุณล่วงหน้าสำหรับคำแนะนำใด ๆ