Linux入门教程:如何使用Google身份验证器双重身份验证来保护SSH,什么是双重身份验证当您连接时,您必须从


要使用易于使用的双因素认证来保护您的SSH服务器? Google提供必要的软件,可将Google Authenticator的基于时间的一次性密码(TOTP)系统与您的SSH服务器相集成。当您连接时,您必须从手机输入代码。

Google身份验证器不会向Google“回家”事实上,Google Authenticator是完全开源的,所以你甚至可以自己检查它的源代码。

安装Google Authenticator

要使用Google Authenticator实施多因素身份验证,我们需要开源的Google Authenticator PAM模块。PAM代表“可插拔认证模块” – 它可以轻松地将不同形式的认证插入到Linux系统中。

Ubuntu的软件仓库包含一个易于安装的Google Authenticator PAM模块软件包。如果您的Linux发行版不包含该软件包,则必须从Google Code的Google Authenticator下载页面下载该文件并自行编译。

要在Ubuntu上安装软件包,请运行以下命令:

sudo apt-get install libpam-google-authenticator

(这将仅在我们的系统上安装PAM模块 – 我们必须手动激活SSH登录。)

创建验证密钥

作为您将远程登录的用户登录,并运行google-authenticator命令为该用户创建一个密钥。

通过输入y可以使命令更新您的Google Authenticator文件。然后会提示您提出几个问题,这些问题将允许您限制使用相同的临时安全性令牌,增加令牌可以使用的时间窗口,并限制允许的访问次数来阻止暴力破解尝试。这些选择都为一些易于使用的交易提供了一些安全保障。

Google Authenticator将向您显示一个秘密密钥和几个“紧急划痕代码”。“将紧急划痕代码写在一个安全的地方 – 它们只能使用一次,如果您丢失手机,它们将被用于使用。

在您手机上的Google Authenticator应用程式中输入密码(官方应用程式适用于Android,iOS和Blackberry)。您还可以使用扫描条形码功能 – 转到位于命令输出顶部附近的URL,您可以使用手机的相机扫描QR码。

您的手机上的验证码不断变化。

如果要作为多个用户远程登录,请为每个用户运行此命令。每个用户将拥有自己的秘密密钥和自己的密码。

激活Google身份验证器

下一步您将不得不要求Google Authenticator进行SSH登录。为此,请打开/ etc / pam。您的系统上的d / sshd文件(例如,使用sudo nano / etc / pam)d / sshd命令),并将以下行添加到file:

auth需要pam_google_authenticator。so

下一步,打开/ etc / ssh / sshd_config文件,找到ChallengeResponseAuthentication行,并将其更改为如下所示:

ChallengeResponseAuthentication yes

(如果ChallengeResponseAuthentication行不存在,请将上述行添加到该文件。)

最后,重新启动SSH服务器,所以您的更改将生效109mh1112

sudo服务ssh restart

当您尝试通过SSH登录时,系统将提示您输入密码和Google Authenticator代码。

相关内容