Ssh
帶密碼的 ssh,回退到 Google Authenticator
隨著Google Authenticator的引入以及與 ssh 一起使用它的能力,我想知道是否有人已經完成了 sshd_config 設置,這將
- 首先期待一把鑰匙
- 如果失敗,請使用 Google Authenticator 進行身份驗證
這個想法通常與密鑰無縫連接,並且通常在不太友好的環境中,與雙因素機制連接。
是的,我有一個設置,我可以
ssh
使用公鑰身份驗證訪問我的伺服器,當我的私鑰不可用時,我可以使用 Google Authenticator + 密碼進行雙重身份驗證。這些是您可以用來設置它的步驟。安裝Google身份驗證器
我的伺服器正在執行 Ubuntu Bionic Beaver (18.04.1)。您可以使用以下方式安裝 Google Authenticator
apt
:$ sudo apt install libpam-google-authenticator
配置 sshd
打開
/etc/pam.d/sshd
並在頂部添加以下行:auth optional pam_google_authenticator.so
打開
/etc/ssh/sshd_config
並更改一行。現有線路是ChallengeResponseAuthentication no
你應該把它改成
ChallengeResponseAuthentication yes
為您的帳戶配置 Google 身份驗證器
下一步是為您的帳戶打開 Google 身份驗證器。您只需執行以下命令即可:
$ google-authenticator
確保以將要建立 ssh 連接的使用者而不是root 使用者身份執行它。記下您的新密鑰和緊急刮刮程式碼。該嚮導將詢問您幾個問題以配置您的帳戶的安全設置。
配置您的移動應用程序
我使用適用於 iPhone 的 Google Authenticator 應用程序。這個應用程序有一個
$$ + $$
google-authenticator
按鈕,允許我使用從伺服器上的命令獲得的密鑰添加新的基於時間的令牌。設置起來很簡單。我無法為您提供任何其他平台上的應用程序,但我想這個過程同樣簡單。 拉動扳機您需要做的最後一件事是重新啟動
sshd
。$ sudo /etc/init.d/ssh restart
此時,當您嘗試在您的私鑰可用時連接到伺服器時,身份驗證就可以正常工作。當您的私鑰不可用時,您將收到輸入驗證碼的提示,然後是您的帳戶密碼。
Bingo,兩因素身份驗證。