进一步部署 Google Authenticator:Apache 模块(2)

即可,如果没有报错的话,现在现在 mod_authn_google 应该已经在工作了,访问 /secret 的话会提示输入用户名密码,但是我们没有添加用户,所以输啥都是错的。

四、添加认证用户

认证用户是通过 Google Authenticator 提供的工具来生成认证文件的,将生成的认证文件复制到 GoogleAuthUserPath 所对应的目录即可,比如/etc/apache2/ga_auth。

如何使用 Google Authenticator 生成新用户的说明,在这篇文章中已经很清楚了,这里再提一下:

使用包管理器安装 libpam-google-authenticator 这个包。以 Ubuntu Server 为例:

sudo apt-get install libpam-google-authenticator

如果之前用过 Google Authenticator,请先将 ~/.google_authenticator 文件改名备份一下。

运行

google-authenticator

命令,把屏幕上的 QR 码扫描到装有 Google Authenticator 的手机中,并按照提示回答几个问题,生成新的 ~/.google_authenticator 文件。

这样便生成了一个有效的用户。将家目录中新生成的 .google_authenticator 文件复制到 /etc/apache2/ga_auth 目录下,文件名为用户名,并使用

sudo chmod 640 wzyboy && sudo chown root:www-data wzyboy

(把 wzyboy 更换为相应的用户名)更改文件权限,以确保 Apache 能读取它,便完成了一个用户的添加。如需更多用户访问,重复这些步骤即可。最后记得把家目录里的 .google_authenticator 文件改回来。

五、调试与侦错

建议在浏览器的隐身窗口中进行调试以排除 Cookies 的干扰。如果出错,可从 /var/log/apache2/error.log 中找答案。

补充:该模块在 Google Code 上的预编译文件有 Bug,不读取 Cookies,导致提示找不到 /etc/apache2/ga_auth/(null) 文件。这时一个比较搞笑的 wordaround 就是把你的用户认证信息文件重命名为 (null),然后就可以配合这个 Bug 继续工作了。此时用户名输什么都可以,密码则是要保持正确的。这倒也别有一番风味…… via @jimmy_xu_wrk

via :

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18474.html