我已经使用google-authenticator在远程服务器上实现了双因素身份验证。查询密码和单验证码后,web控制台登录成功。但是从ssh登录会要求2次验证码。只有连续提供2个totp代码,才能成功登录。
在第一次查询验证码之前,我已经使用ssh -v <user@remotehost>验证了ssh publickey身份验证是否成功。
配置文件/etc/ssh/sshd_config具有以下设置:
# to restrict root login via ssh
PasswordAuthentication no
PermitRootLogin no
# to enable login via 2FA
UsePAM yes
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,password publickey,keyboard-interactive配置文件/etc/pam.d/sshd具有以下设置
# Standard Un*x authentication.
# @include common-auth
# for 2FA auth
auth required pam_google_authenticator.so nullok
auth required pam_permit.so发布于 2021-03-08 18:57:12
在/etc/pam.d/sshd中注释掉auth required pam_google_authenticator.so nullok可以删除重复的质询。
运行google_authenticator会将pam模块添加到/etc/pam.d/common-session中,因此也不需要将其添加到ssh中。
https://stackoverflow.com/questions/66524551
复制相似问题