启用SSH双因子认证需安装Google Authenticator PAM模块,配置TOTP验证,编辑/etc/pam.d/sshd添加auth required pam_google_authenticator.so,修改/etc/ssh/sshd_config启用ChallengeResponseAuthentication并设置AuthenticationMethods为keyboard-interactive:pam或publickey,keyboard-interactive:pam,重启sshd服务后用户登录需输入动态验证码,提升安全性。

在Linux系统中启用SSH双因子认证(2FA)能显著提升服务器的安全性。通过结合密码/密钥登录与基于时间的一次性验证码(TOTP),即使凭证泄露,攻击者也难以未经授权访问系统。Google Authenticator是实现这一功能的常用工具,支持TOTP协议,可轻松集成到OpenSSH中。
大多数Linux发行版都提供google-authenticator包,可通过系统包管理器安装。
在Ubuntu/Debian系统上执行:
sudo apt update在CentOS/RHEL或Fedora系统上:
sudo yum install google-authenticator切换到目标用户(通常是需要远程登录的账户)并运行初始化命令:
google-authenticator执行后会提示一系列问题,建议按以下方式选择:
完成后会显示一个二维码和一组备用恢复码。使用Google Authenticator App(iOS/Android)扫描二维码添加账户,确保设备时间已同步。
编辑SSH服务的PAM配置文件:
sudo nano /etc/pam.d/sshd在文件开头添加以下行:
auth required pam_google_authenticator.so这将要求用户在SSH登录时输入动态验证码。注意不要删除原有的auth行,否则可能影响密码验证流程。
编辑sshd_config文件:
sudo nano /etc/ssh/sshd_config确认以下配置项已正确设置:
如需更严格控制,可设置为:
AuthenticationMethods publickey,keyboard-interactive:pam
表示必须先通过SSH密钥认证,再输入TOTP验证码。
完成修改后重启SSH服务:
sudo systemctl restart sshd打开新终端窗口,尝试SSH登录:
ssh username@your-server如果配置正确,登录过程将提示输入验证码(由Google Authenticator生成的6位数字),而不是直接进入系统。输入正确的动态码后才能成功登录。
若遇到问题,可查看日志定位错误:
sudo tail -f /var/log/auth.log(在CentOS/RHEL中为 /var/log/secure)
基本上就这些。只要步骤清晰,Google Authenticator部署并不复杂,但容易忽略PAM和sshd_config的协同配置。启用后,你的SSH服务就具备了双因子防护能力,极大降低被未授权访问的风险。
以上就是Linux如何启用SSH双因子认证_LinuxGoogleAuthenticator部署的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号