如何为 Linux 系统安装和启用 SSH 多重身份验证如何为 Linux 系统安装和启用 SSH 多重身份验证如何为 Linux 系统安装和启用 SSH 多重身份验证如何为 Linux 系统安装和启用 SSH 多重身份验证
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何为 Linux 系统安装和启用 SSH 多重身份验证

Secure Shell (SSH) 是一种流行的协议,用于远程访问 Linux 服务器和系统。它提供安全、加密的连接,允许用户远程管理和管理他们的系统。

但是,仅使用用户名和密码访问 SSH 可能会使您的系统容易受到暴力攻击、密码猜测和其他安全威胁。这就是多重身份验证 (MFA) 派上用场的地方。

它是一个额外的安全层,要求用户提供两种或多种形式的身份验证才能访问系统。通过要求用户提供多种因素,MFA可以显着提高SSH访问的安全性。

MFA 对于处理敏感或机密数据的系统至关重要,因为它有助于防止未经授权的访问和数据泄露。通过实施 MFA,您可以显着提高 Linux 系统的安全性,更好地保护您的数据和资产。

本文介绍了如何在 Linux 系统上安装、配置和启用 MFA 以进行 SSH 访问。我们将概述设置受支持的 MFA 方法(例如 Google Authenticator 或 Duo Security)所需的步骤,并测试 SSH 访问的设置。

为 MFA 准备 Linux 系统

在 Linux 系统上安装和配置 MFA 之前,确保您的系统是最新的并且安装了必要的软件包至关重要。使用以下实用程序更新您的系统:

sudo apt update && sudo apt upgrade -y

一旦您的系统是最新的,您必须安装 PAM(可插入身份验证模块)软件包,以启用 SSH 的 MFA。

安装和配置支持的 MFA 方法

有多种 MFA 方法可用于 SSH 访问,包括 Google Authenticator、Duo Security 和 YubiKey。在本节中,我们将重点配置 Google 身份验证器,这是一种广泛使用且易于设置的 SSH MFA 方法。

以下是安装和配置 SSH MFA 的 Google 身份验证器的步骤:

第 1 步:创建新用户

首先,您需要创建一个用于 SSH 访问的新用户。您可以通过运行以下代码来创建新用户:

sudo adduser <username>

将 替换为您要创建的用户的相应名称。

第2步:切换到新用户

接下来,通过运行以下命令切换到新用户:

su - <username>

您的系统将提示您输入新用户的密码。

第3步:安装谷歌身份验证器

使用此实用程序安装 Google 身份验证器:

sudo apt install libpam-google-authenticator -y

以下是上一个命令的示例输出:

此输出显示包管理器“apt”,安装“libpam-google-authenticator”包及其依赖项“libqrencode4”。 -y 选项自动确认安装提示。结果还显示安装过程的进度,包括下载和安装软件包以及将使用的任何其他磁盘空间。最后,它表明安装和安装后处理的任何相关触发器均成功。

第 4 步:生成新密钥

该实用程序将帮助您为用户生成新的密钥:

google-authenticator

您的系统将提示您回答一些问题,包括以下问题:

  • 您希望身份验证令牌基于时间(y/n)吗? y

  • 您希望我更新您的“/home/yourusername/.google_authenticator”文件(y/n)吗? y

  • 您想禁止多次使用同一身份验证令牌吗? (是/否) 是

  • 您想启用速率限制吗? (是/否) 是

您可以接受大多数问题的默认值。但是,对于“您希望我更新您的“/home//.google_authenticator”文件吗?”问题,请选择“y”来更新配置文件。

上一个命令行为用户生成一个新的密钥,用于为 MFA 创建一次性密码。

第 5 步:打开手机上的身份验证器应用程序

打开智能手机上的 Google Authenticator 应用程序并扫描屏幕上显示的二维码。这会将新用户添加到您的 Google 身份验证器应用程序中。

第6步:编辑配置文件

通过运行以下命令编辑 SSH 配置文件:

sudo nano /etc/ssh/sshd_config

在文件末尾添加以下行:

ChallengeResponseAuthentication yes

此行启用 SSH 的质询-响应身份验证。

步骤 7:编辑 PAM 配置文件

此命令编辑 SSH 的 PAM 配置文件:

sudo nano /etc/pam.d/sshd

在文件末尾添加以下行以完成此步骤:

auth required pam_google_authenticator.so

该实用程序启用 SSH 的 Google Authenticator 模块。

第 8 步:保存您的更改

保存对配置文件的更改并使用以下命令重新启动 SSH 服务:

sudo service ssh restart

此命令使用新配置重新启动 SSH 服务。

当您使用 SSH 登录 Linux 系统时,系统将提示您输入由 Google Authenticator 应用程序生成的一次性密码。输入一次性密码以完成登录过程。

测试您的 MFA 设置以进行 SSH 访问

在 Linux 系统上安装并配置适用于 SSH 的 MFA 后,测试设置以确保其正常工作非常重要。以下是测试 SSH 访问的 MFA 设置的步骤:

1. 打开一个新的终端窗口,并像平常一样使用 SSH 连接到您的 Linux 系统。例如:

ssh <username>@<ip_address>

将 替换为您之前创建的用户的确切名称,并将 替换为 Linux 系统的 IP 地址或主机名。在本例中,我们使用 Victoria 作为用户名。输出如下图所示:

在本例中,我们使用 ssh 命令以用户“victoria”登录 IP 地址为 192.168.1.100 的远程计算机。该命令提示确认远程主机的真实性,然后要求输入用户“victoria”的密码。经过身份验证后,我们会在远程计算机上看到 shell 提示符,表明我们已成功建立 SSH 会话。

2. 出现提示时输入用户的密码。

3. 输入密码后,MFA 应用程序应该提示您输入一次性密码。打开智能手机上的 Google Authenticator 应用程序,然后输入与您之前创建的用户相对应的代码。

4. 如果一次性密码正确,您应该可以登录 Linux 系统。如果密码不正确,系统将提示您从 MFA 应用程序输入另一个代码。

5. 成功登录后,您可以通过检查 SSH 日志来验证 MFA 是否正常工作。运行此实用程序以查看日志:

sudo tail -f /var/log/auth.log

上一条命令实时显示 SSH 身份验证日志。

在日志中查找一行“已接受<用户名> 的公钥”,后跟“已接受<用户名> 的键盘交互/pam”。

Apr 17 10:45:24 server sshd[2998]: Accepted publickey for victoria from 192.168.0.2 port 57362 ssh2: RSA SHA256:xxxxxxxxxxxxxxxxxxxxx
Apr 17 10:45:27 server sshd[2998]: Accepted keyboard-interactive/pam for victoria from 192.168.0.2 port 57362 ssh2

前两行显示用户“victoria”已通过 IP 地址 192.168.0.2 的公钥和键盘交互方法成功进行身份验证。

如果一切正常,您可以使用启用了 MFA 的 SSH 登录 Linux 系统。

结论

在 Linux 系统上实施用于 SSH 访问的多重身份验证 (MFA) 可以通过添加额外的身份验证层来显着增强系统的安全性。通过要求用户除了常规密码之外还提供一次性密码,MFA 使攻击者更难访问您的系统。

©2015-2025 艾丽卡 support@alaica.com