为 Linux 服务器设置双因素身份验证

为什么要在Linux服务器上使用双因素身份验证?

尽管 SSH 密钥安全性很高,但并非万无一失,尤其是在私钥泄露或存储不当的情况下。双因素身份验证 (2FA) 通过要求您提供已知信息(密码)和可用物品手机)来降低这种风险。

双因素身份验证的优势:

  • 可抵御暴力攻击
  • 即使密码泄露,也能增加一层额外的保护。
  • 易于实施,对性能影响极小。

步骤 1 – 安装 Google Authenticator PAM 模块

更新所有系统软件包,确保您的 Ubuntu 服务器是最新版本,并安装 Google Authenticator。

sudo apt update

sudo apt install libpam-google-authenticator

步骤 2 – 为您的用户配置 Google Authenticator

对每个需要启用双因素身份验证的用户运行以下命令:

谷歌身份验证器

您将被问到以下几个问题:

  • 使用您的移动身份验证器应用程序扫描二维码
  • 将紧急代码保存在安全的地方
  • 选择是否更新.google_authenticator文件(输入 y)
  • 选择 y 以获得基于时间的代币
  • 请根据您的安全需求回答剩余提示(默认回答“是”即可)。

步骤 3 – 配置 PAM 以使用 Google Authenticator

打开 PAM SSH 配置文件:

须藤纳米 /etc/pam.d/sshd

在顶部添加以下一行:

需要 pam_google_authenticator.so 进行身份验证

保存并退出。

步骤 4 – 更新 SSH 配置

编辑 SSH 服务配置:

sudo nano /etc/ssh/sshd_config

请确保存在以下设置:

挑战响应认证:是 使用PAM:是

为了提高安全性,您也可以选择禁用密码验证,仅使用密钥 + 双因素身份验证:

密码验证否

保存并退出。

步骤 5 – 重启 SSH

重启 SSH 服务以应用更改:

sudo systemctl restart ssh

步骤 6 – 测试设置

打开一个新的终端或会话,然后尝试登录:

ssh youruser@yourserver_ip

系统会提示您输入:

  1. 您的 SSH 密钥口令或密码(如果已启用)
  2. 来自身份验证器应用程序的验证码

注意:在确认双因素身份验证 (2FA) 正常工作之前,请勿关闭现有的 SSH 会话。

注意:除了修改 /etc/pam.d/sshd 文件之外,您还可以通过检查组成员身份或使用命令行限制修改 .ssh/authorized_keys 文件来为特定用户配置 PAM。这种方法更高级,通常用于多用户环境。

其他提示:

  • 备份您的 .google_authenticator 文件和恢复代码
  • 使用 fail2ban 或类似工具阻止重复登录尝试
  • 结合 SSH 密钥认证,可实现最高安全性

结论

为了显著提升 Linux 服务器的安全性,您可以采取简单而有效的措施——启用双因素身份验证。无论您管理的是个人 VPS 还是企业级基础架构,启用双因素身份验证都能有效防止未经授权的访问,即使您的凭据遭到泄露。

此文章对您是否有帮助? 0 用户发现这个很有用

相关文章

Linux服务器常用命令大全

掌握常用Linux命令是服务器管理的基础。 文件与目录操作: ls -la - 列出所有文件详情 cd /path - 切换目录 pwd - 显示当前目录 mkdir dir -...

Linux服务器防火墙配置详细教程

防火墙是服务器安全的第一道防线,正确配置至关重要。 Linux防火墙(firewalld): 查看状态:systemctl status firewalld 启动防火墙:systemctl...

Linux云服务器僵尸进程处理的步骤和方法

在日常使用 Linux 云服务器的过程中,很多站长都会在某一次排查性能问题时,通过 top 或 ps 命令看到状态为 Z...

Nginx配置错误导致云服务器端口占用怎么办?

在部署或修改Nginx配置的过程中,很多用户常常忽略一个关键细节:端口的唯一性和正确性。如果Nginx配置文件中出现错误绑定端口、重复监听或错误格式,很可能会导致端口冲突,进而出现Nginx启动...

Linux服务器上常见网络相关问题的故障排除

如果您看到这篇博文,很可能您的 Linux 服务器遇到了某种网络问题。虽然并非有意为之,但有时网络配置错误会导致一些不良后果。...