如何在 Ubuntu 20.04 LTS 上设置双重身份验证

在本教程中,我们将向您展示如何在 Ubuntu 20.04 LTS 上设置双重身份验证。 对于那些不知道的人,增强 SSH 登录安全性的一种方法是使用双因素身份验证 (2FA)。 双重身份验证为您的服务器增加了一层额外的安全性。 一般来说,您只需要您的用户名和密码即可登录您的服务器,但在应用双重身份验证后,您还需要一个身份验证码以及用户名和密码。 这将显着提高服务器的安全性。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 Ubuntu 20.04(Focal Fossa)上逐步设置 SSH 2fa(双重身份验证)。 对于 Ubuntu 18.04、16.04 和任何其他基于 Debian 的发行版(如 Linux Mint),您可以按照相同的说明进行操作。

先决条件

  • 运行以下操作系统之一的服务器:Ubuntu 20.04、18.04、16.04 和任何其他基于 Debian 的发行版,如 Linux Mint。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一个 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。
  • 预配置的 Google Authenticator 应用 iOS 或者 安卓 移动的。

在 Ubuntu 20.04 LTS Focal Fossa 上设置两因素身份验证

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt 终端中的命令。

sudo apt update sudo apt upgrade

步骤 2. 安装 Google Authenticator PAM 模块。

现在运行以下命令从默认的 Ubuntu 软件包存储库安装 Google Authenticator:

sudo apt install libpam-google-authenticator

步骤 3. 配置 SSH。

以下命令将打开验证器配置文件:

nano /etc/pam.d/sshd

添加以下行:

auth required pam_google_authenticator.so

Save 和 close 文件,然后重新启动 sshd 守护进程使用以下命令:

sudo systemctl restart sshd

接下来修改 sshd_config 使用以下命令文件:

sudo nano /etc/ssh/sshd_config

找到线 ChallengeResponseAuthentication 并将其值设置为yes:

ChallengeResponseAuthentication yes

Save 和 close 文件,然后重新启动 sshd 服务:

sudo systemctl restart sshd

步骤 4. 生成 Google Authenticator 二维码。

现在我们使用以下命令运行 Google Authenticator:

google-authenticator

此命令的结果将引导您完成几个问题。 回答每个问题 y. 在回答之前,请通过截图复制二维码或按照谷歌网址获取更高质量的二维码。 稍后您将需要此代码在您的移动设备上设置 Google 身份验证器。

在您的移动设备上,打开 Google Authenticator 应用程序,然后选择 + 添加新帐户。 然后,选择扫描二维码,可以扫描之前生成的二维码。 扫描 QR 码将显示 Linux 虚拟机 (VM) 名称、用户帐户以及每 30 秒更改一次的唯一 TOTP 代码。

步骤 5. 测试两因素身份验证。

成功配置多因素身份验证后。 是时候连接它并测试它了。 现在打开您的终端并通过 SSH 登录到您的服务器,如下所示:

ssh [email protected]

和以前一样,此会话会提示您输入 admin 密码凭证。 如果工作正常,它还会要求您提供与 TOTP代码 您看到显示在 Google Authenticator 应用程序中。

恭喜! 您已成功配置两因素身份验证。 感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上设置双重身份验证。 如需更多帮助或有用信息,我们建议您查看 Ubuntu 官方网站.