TL;DR: Care este cea mai bună modalitate de a monta casele utilizatorilor prin SSHFS (sau orice alt protocol criptat) la conectare, impunând în același timp utilizarea cheilor de securitate precum Yubikeys și Nitrokeys?
Varianta lunga:
Trebuie să construiesc o nouă rețea formată din (inițial cel puțin) un server central și mai mulți clienți. Ideea este să lăsați clienții să pornească prin PXE și apoi să montați toate folderele necesare prin SSHFS. Asta nu ar trebui să fie deloc o problemă cu un pam_mount configurat corect dacă aș dori să folosesc doar numele de utilizator și parola, dar trebuie să impun și necesitatea de a folosi un Yubikey ca al doilea factor pentru a debloca monturile SSHFS.
Cunoașteți vreo soluție mai mult sau mai puțin gata de utilizare pe care să le pot folosi pentru a-mi atinge obiectivul?
De dragul caracterului complet, desigur, am avut și câteva idei, dar nu știu dacă una dintre ele este de fapt fezabilă:
Utilizarea pam_exec în combinație cu un script personalizat care acționează ca un înveliș în jurul tuturor pașilor necesari. Un demon de server ar verifica autentificarea de bază folosind nume de utilizator+parolă și, dacă a reușit, va răspunde cu o provocare (FIDO2) pe care clientul o va folosi pentru a genera o afirmație FIDO2 pe care serverul ar putea să o verifice și, dacă are succes, să genereze un SSH temporar. cheia căreia cheia publică ar fi adăugată fișierul authorized_keys și cheia privată va fi returnată clientului. După o anumită perioadă de timp, serverul ar elimina din nou această intrare. Sunt destul de sigur că acest lucru este fezabil.
Folosind din nou pam_exec și un script personalizat, dar de data aceasta adăugând Keycloak la configurarea serverului, astfel încât demonul serverului să acționeze ca furnizor de servicii în ceea ce privește OpenID Connect. Cred că problema aici este că scriptul client (wrapper) ar trebui să se poată autentifica la Keycloak, deoarece „Direct Grant”/„Resource Owner Grant” nu poate fi folosit cu autentificarea cu doi factori bazată pe token-uri hardware.
Mulțumesc anticipat pentru orice indiciu.