SSH 設定 Google Authenticator 做2FA驗證
為避免SSH 暴力攻擊或密碼遭到外洩,開啟雙因子身份驗證 (2FA) 似乎正在成為一種常態, 越來越多的資安人員正在推動組織,針對每個敏感系統和應用程序開始使用 2FA。 可以理解因為密碼已不足以保護當今時代的資訊安全。 以下摘自維基百科: 基於時間的一次性密碼演算法(英語:Time-based One-Time Password,簡稱:TOTP)是一種根據預共享的金鑰與當前時間計算一次性密碼的演算法。它已被網際網路工程任務組接納為RFC 6238標準[1],成為主動開放認證(OATH)的基石,並被用於眾多多重要素驗證系統當中。 TOTP是雜湊訊息鑑別碼(HMAC)當中的一個例子。它結合一個私鑰與當前時間戳,使用一個密碼雜湊函式來生成一次性密碼。由於網路延遲與時鐘不同步可能導緻密碼接收者不得不嘗試多次遇到正確的時間來進行身分驗證,時間戳通常以30秒為間隔,從而避免反覆嘗試。 也就是說只要能產生基於TOTP演算法的 secret key,用戶端就能透過手機APP來安裝各種驗證器來進行一次性密碼驗證,目前比較知名的是 Microsoft Authenticator、Google Authenticator、FreeOTP(更新停在2016年,較不建議).... 作業系統:Rocky Linux 8.6 # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y # dnf install google-authenticator qrencode qrencode-libs # google-authenticator 按下yes Do you want authentication tokens to be time-based (y/n) y Warning: pasting the following URL into your browser exposes the OTP secret to Google: https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@localhost.localdomain%3Fse