使用谷歌动态验证码需要确保服务器时间和手机时间同步,时间差不能超过30s
要在CentOS上配置双因素身份验证,你可以使用Google Authenticator。以下是一些简单的步骤来实现这一目标:
安装组件:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install google-authenticator
针对用户启用双因素身份验证:
google-authenticator
共需回答5个y
第1个:问你是否想做一个基于时间的令牌 y
(需要记录二维码,或者URL,或者口令,如口令为PU7TEDORGV7BD3J4JW6CGO55UY)
第2个:是否更新你的google认证文件,由于第一次设置,所以一定选 y
第3个:是否禁止口令多用,这里选择y,禁止它,以防止中间人欺骗。y
第4个:默认情况,1个口令的有效期是30s,这里是为了防止主机时间和口令客户端时间不一致,设置的误差,可以选择y,也可选n,看要求严谨程度 y
第5个:是否打开尝试次数限制,默认情况,30s内不得超过3次登录测试,防止别人暴力破解。y
如果没有显示出二维码用secret key也是一样的。
微信小程序搜索动态验证码,新建账号,把secret key输进去或直接扫描二维码
修改SSH配置文件以启用双因素身份验证:
使用文本编辑器打开/etc/pam.d/sshd文件,并添加以下行:
auth required pam_google_authenticator.so
修改SSH服务器配置以允许使用双因素身份验证:
使用文本编辑器打开/etc/ssh/sshd_config文件,并确保以下行未被注释:
ChallengeResponseAuthentication yes
UsePAM yes
重启SSH服务:
sudo systemctl restart sshd
完成上述步骤后,当用户登录时,系统将要求他们提供谷歌身份验证器生成的临时验证码,以完成双因素身份验证。
请注意,在执行任何修改前,请务必备份相关的配置文件,以防止意外情况发生。
xshell连接时选择keybord interactive
登录时,除了输入密码外还需输入小程序里的动态验证码