boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

Linux如何启用双因素认证_Linux双因素认证的设置方法详解


avatar
作者 2025年10月11日 8

linux中启用双因素认证可显著提升安全性,通过密码和动态验证码结合防止未授权访问。2. 安装google Authenticator的PAM模块后,用户运行初始化命令配置基于时间的一次性密码,并使用手机app扫描二维码绑定账户。3. 编辑/etc/pam.d/sshd文件添加auth required pam_google_authenticator.so以启用PAM验证。4. 修改/etc/ssh/sshd_config配置ChallengeResponseAuthentication yes和UsePAM yes,可选设置AuthenticationMethods实现公钥与2FA组合认证。5. 重启SSH服务后测试登录,输入密码再提供动态验证码完成双重验证,失败时可通过/var/log/auth.log排查问题。

Linux如何启用双因素认证_Linux双因素认证的设置方法详解

在Linux系统中启用双因素认证(2FA)能显著提升账户安全性,尤其适用于远程登录或管理敏感数据的场景。通过结合“你知道的”(密码)和“你拥有的”(动态验证码),即使密码泄露,攻击者也难以登录系统。下面详细介绍如何在Linux上设置基于PAM的双因素认证,使用Google Authenticator作为示例。

安装Google Authenticator工具

大多数Linux发行版支持通过包管理器安装Google Authenticator的PAM模块。该模块允许用户在SSH登录时输入一次性密码(OTP)。

ubuntu/debian为例:

sudo apt update
sudo apt install libpam-google-authenticator

对于centos/RHEL/Fedora:

sudo yum install google-authenticator # CentOS 7及更早版本
# 或
sudo dnf install google-authenticator # Fedora/CentOS 8+

为用户配置双因素认证

切换到需要启用2FA的用户(如普通用户或root),运行初始化命令:

google-authenticator

执行后会提示以下问题,建议按如下方式选择:

  • 是否创建基于时间的一次性密码? → 输入 Y
  • 是否限制每30秒只能使用一次令牌? → 输入 Y
  • 是否增加时间偏移容忍度? → 输入 N(除非设备时间不同步)
  • 是否生成紧急备用码? → 输入 Y,并妥善保存
  • 是否更新认证文件? → 输入 Y

完成后终端会显示一个二维码和密钥。使用Google Authenticator、Authy等手机App扫描二维码,即可绑定账户。

配置PAM启用2FA验证

编辑SSH服务的PAM配置文件,使系统在登录时调用Google Authenticator验证。

sudo nano /etc/pam.d/sshd

在文件开头添加以下行:

auth required pam_google_authenticator.so

注意:不要删除原有的auth行,此行用于加载2FA验证模块。

修改SSH配置以启用挑战响应

编辑SSH主配置文件

Linux如何启用双因素认证_Linux双因素认证的设置方法详解

因赛AIGC

因赛aiGC解决营销全链路应用场景

Linux如何启用双因素认证_Linux双因素认证的设置方法详解73

查看详情 Linux如何启用双因素认证_Linux双因素认证的设置方法详解

sudo nano /etc/ssh/sshd_config

确保以下配置项已设置:

  • ChallengeResponseAuthentication yes
  • UsePAM yes
  • AuthenticationMethods publickey,keyboard-interactive(可选:实现公钥+2FA组合认证)

若只希望密码用户也需2FA,保留默认认证方式即可;若想强制使用密钥+2FA,请设置AuthenticationMethods。

保存后重启SSH服务:

sudo systemctl restart sshd

测试双因素登录

从另一台设备使用SSH登录:

ssh username@your-server-ip

输入密码后,系统会提示:

Verification code:

打开手机上的认证App,输入当前6位验证码即可完成登录。

如果配置了publickey,keyboard-interactive,则先验证SSH密钥,再输入动态验证码。

若登录失败,请检查系统日志:

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

基本上就这些。只要步骤正确,Linux系统的SSH登录就能成功加上双层防护。安全性和便利性的平衡可以通过是否启用备用码、是否结合密钥等方式灵活调整。



评论(已关闭)

评论已关闭

text=ZqhQzanResources