使用密码进行 ssh,回退到 Google Authenticator

使用密码进行 ssh,回退到 Google Authenticator

随着Google 身份验证器以及与 ssh 一起使用我想知道是否有人经历过 sshd_config 设置,它会

  • 首先期待一个关键
  • 如果失败,则使用 Google Authenticator 进行身份验证

其理念通常是通过密钥无缝连接,并且通常在不太友好的环境中,通过双因素机制连接。

答案1

是的,我有一个设置,我可以ssh使用公钥身份验证登录我的服务器,当我的私钥不可用时,可以使用 Google Authenticator + 密码进行双因素身份验证。这些是您可以用来设置它的步骤。

安装 Google Authenticator

我的服务器正在运行 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 Authenticator。您只需运行以下命令即可完成此操作:

$ google-authenticator

确保以将要建立 ssh 连接的用户身份运行此命令,不是根。记下您的新密钥和紧急暂存代码。向导将询问您几个问题以配置您帐户的安全设置。

配置您的移动应用程序

我使用 iPhone 版 Google Authenticator 应用。此应用有一个 [+] 按钮,允许我使用从google-authenticator服务器上的命令获得的密钥添加新的基于时间的令牌。设置过程很简单。我无法帮助您使用其他平台上的应用,但我想这个过程同样简单。

扣动扳机

您需要做的最后一件事是重新启动sshd

$ sudo /etc/init.d/ssh restart

此时,当您的私钥可用时尝试连接到服务器,身份验证即可正常工作。当您的私钥不可用时,您将收到验证码提示,然后输入您的帐户密码。

宾果,双重身份验证。

相关内容