如何在非互動式 SSH 連線上設定 2FA?

如何在非互動式 SSH 連線上設定 2FA?

我想使用雙重認證為 SSH 伺服器 (Ubuntu) 的登入添加一定程度的安全性。使用者連接到 SSH 伺服器的方式的一個特殊性是,有時他們以非互動方式進行連接:SSH 伺服器在使用者的 MySQL 用戶端中配置為用作存取資料庫的堡壘/代理。因此,我正在尋找不需要用戶在終端機中輸入任何內容的 2FA 設定。

理論上聽起來很有前途的一種現有解決方案是谷歌的電話提示,允許用戶驗證連接。每個 SSH 用戶都將與一個電話號碼相關聯,並且該電話號碼將在每次連接時收到驗證提示。 在此輸入影像描述

這個想法的一個明顯的缺點是,聽起來它需要開發手機應用程序,這將使它變得過於複雜和昂貴。我可以使用其他技術來允許使用者驗證非互動式 SSH 登入嗎?

答案1

您可以使用 SSH-CA 頒發僅在幾個小時內有效的臨時短期 OpenSSH 使用者憑證。使用者必須透過使用您喜歡的任何 MFA 解決方案進行身份驗證來請求證書。 SSH 憑證和私鑰將載入到 SSH 金鑰代理中並可以使用,直到使用者憑證過期。

有各種 SSH-CA 實現,我的EKCA成為其中之一。 YMMV。

相關內容