现在很多网站都开启了谷歌的2FA认证登陆,比如IT168资讯之前就介绍了《如何使用CyberPanel面板的2FA二次登陆验证功能》,这个功能是好用,相当于移动的密钥时刻在手上,不用担心被破解。但是最近IT168资讯…
现在很多网站都开启了谷歌的2FA认证登陆,比如it168资讯之前就介绍了《如何使用CyberPanel面板的2FA二次登陆验证功能》,这个功能是好用,相当于移动的密钥时刻在手上,不用担心被破解。但是最近it168资讯的其中一个站出现无法登陆的情况,用的是CyberPanel面板,输入2FA的验证码后,直接提示:Could Not Login, Error message: Invalid verification code.
如下图所示:
it168资讯觉得很奇怪,为什么会登陆不上呢。这可非常要紧,总不可能直接重装吧?经常观察及验证,it168资讯发现一个现象,那就是输入的验证码等60秒后才能正常登陆。
具体表现如下:
首先用户名和密码是正确的。然后当时手机的2FA的验证码显示为123456,30秒后验证码变成了567890,然后再过30秒后验证码变成863921,结果用刚开始的123456这个验证码登陆既然成功了。
it168资讯测试了重新开启2FA和关闭2FA的时候,无论怎么测试,始终存在要等60秒才能正常登陆。为什么会延迟60秒才能登陆呢?
其实既然和时间有关,那有没有可能是主机系统时间和本地时间不一样导致的?于是it168资讯登陆SSH查看,果然相差一分钟。那问题发现了,接下来如何解决呢?我们需要同步系统时间。
1、登陆SSH查看目前的时间
因为该站点用的Centos 7的系统,因为用命令 timedatectl
即可查询当前时间。
像上面这样,时区也不对。一般我们用的是中国时区(Asia/Shanghai)。
2、设置系统时区
如果当前时区不是上海,需要设置时区:
#设置硬件时钟调整为与本地时钟一致
timedatectl set-local-rtc 1
#设置时区为上海
timedatectl set-timezone Asia/Shanghai
3、如果没有同步时间,则需要使用 ntpdate
同步时间
目前比较常用的做法就是使用 ntpdate
命令来同步时间,使用方法如下:
#安装ntpdate
yum -y install ntpdate
#同步时间
ntpdate -u pool.ntp.org
#同步完成后,date命令查看时间是否正确
date
设置完成后,时间也正常了。再次登陆CyberPanel面板输入2FA验证码的时候,不会再出现延时60秒的情况了,全部正常。
原创文章,作者:admin,如若转载,请注明出处:https://www.it168.online/webtech/4016/