在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系统中启用双因素认证(2FA)能显著提升账户安全性,尤其适用于远程登录或管理敏感数据的场景。通过结合“你知道的”(密码)和“你拥有的”(动态验证码),即使密码泄露,攻击者也难以登录系统。下面详细介绍如何在Linux上设置基于PAM的双因素认证,使用Google Authenticator作为示例。
大多数Linux发行版支持通过包管理器安装Google Authenticator的PAM模块。该模块允许用户在SSH登录时输入一次性密码(OTP)。
以Ubuntu/Debian为例:
sudo apt update对于CentOS/RHEL/Fedora:
sudo yum install google-authenticator # CentOS 7及更早版本切换到需要启用2FA的用户(如普通用户或root),运行初始化命令:
google-authenticator执行后会提示以下问题,建议按如下方式选择:
完成后终端会显示一个二维码和密钥。使用Google Authenticator、Authy等手机App扫描二维码,即可绑定账户。
编辑SSH服务的PAM配置文件,使系统在登录时调用Google Authenticator验证。
sudo nano /etc/pam.d/sshd在文件开头添加以下行:
auth required pam_google_authenticator.so注意:不要删除原有的auth行,此行用于加载2FA验证模块。
编辑SSH主配置文件:
sudo nano /etc/ssh/sshd_config确保以下配置项已设置:
若只希望密码用户也需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登录就能成功加上双层防护。安全性和便利性的平衡可以通过是否启用备用码、是否结合密钥等方式灵活调整。
以上就是Linux如何启用双因素认证_Linux双因素认证的设置方法详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号