Ubuntu 20.04系统Lightsail服务器配置SSH 2FA认证问题咨询
Ubuntu 20.04 启用SSH 2FA(Google Authenticator)修复步骤
1. 修正PAM SSH配置文件
编辑/etc/pam.d/sshd文件:
- 注释掉默认的系统密码校验行,避免触发密码输入提示:
找到@include common-auth,在行首加#改为# @include common-auth - 移除你之前添加的
auth required pam_permit.so行,仅保留Google Authenticator的校验配置,在文件末尾新增:
注:auth required pam_google_authenticator.so nulloknullok参数表示未完成Google Authenticator初始化的用户暂时可以正常登录,避免配置过程中直接锁死服务器,全部用户配置完成后可以移除该参数
2. 修正SSH服务配置文件
编辑/etc/ssh/sshd_config文件,确认以下参数配置正确:
- 启用密钥登录:
PubkeyAuthentication yes - 禁用密码登录:
PasswordAuthentication no - 启用挑战响应认证:
ChallengeResponseAuthentication yes - 启用PAM模块:
UsePAM yes(默认开启,如被注释需取消注释) - 配置认证组合规则,要求同时验证密钥+2FA验证码:
AuthenticationMethods publickey,keyboard-interactive
3. 初始化用户2FA配置
切换到你登录服务器使用的用户,执行google-authenticator命令,按照提示完成二维码、恢复码的保存,所有交互提示选择y即可。
4. 验证配置并重启服务
- 先执行
sshd -t命令检查SSH配置是否存在语法错误,无报错再执行systemctl restart sshd重启SSH服务 - 不要关闭当前已连接的SSH窗口,新开一个SSH客户端窗口测试登录,正常会先验证密钥,之后提示输入Verification code,输入Google Authenticator App里的6位验证码即可登录。
内容的提问来源于stack exchange,提问作者Nathos8
相关产品推荐
相关产品推荐

