Linux
為每個使用者在下次 SSH 登錄時強制執行 2FA 配置
我找到了許多關於如何啟用 2FA(TOTP,RFC 6238)的教程,但是還有一種方法可以強制 SSH 使用者在第一次登錄時對其進行配置嗎?(我正在使用 OpenSSH 伺服器)
我想我可以創建一個每次執行的腳本並檢查
.google_authenticator
特定使用者的 a 是否存在,如果不存在,則執行google-authenticator
直到它存在然後編輯/etc/pam.d/sshd
(呃-哦),否則執行預設的 shell/命令……但可能有很多不可預見的邊緣情況和破壞 SSH 登錄的可能性。因此,在我可能重新發明輪子並且隨意地這樣做之前,現有的解決方案是否已經存在?
我會假設它確實如此,因為它是面向使用者的軟體的規範,例如 Gitlab 和 Gsuite,您可以在其中強制使用者在下次登錄時配置 2FA。
我不確定是否有人已經為通用目的編寫了腳本,因為這些東西有時是特定於需求的。
我可以建議使用 env 文件(.bashrc、.bash_profile 等)來更改您的 ssh/2FA 等文件。
腳本的剖析如下:
if <check 2fa file setup exists> # execute this if found # or continue else # setup 2FA and exit for next login.