Ssh

帶密碼的 ssh,回退到 Google Authenticator

  • November 6, 2018

隨著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,兩因素身份驗證。

引用自:https://serverfault.com/questions/327969